<?xml version="1.0"?>
<doc>
  <assembly>
    <name>SpreadsheetGear2012.Core</name>
  </assembly>
  <members>
    <member name="T:SpreadsheetGear.Charts.IAxes">
      <summary>
            Represents the axes of a chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.Axes" />
      <seealso cref="T:SpreadsheetGear.Charts.IAxis" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxes.Item(SpreadsheetGear.Charts.AxisType)">
      <summary>
            Returns the specified axis from the primary axis group.
            </summary>
      <param name="type">The type of axis to return.</param>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxes.Item(SpreadsheetGear.Charts.AxisType,SpreadsheetGear.Charts.AxisGroup)">
      <summary>
            Returns the specified axis from the specified axis group.
            </summary>
      <param name="type">The type of axis to return.</param>
      <param name="group">The axis group of the axis to return.</param>
    </member>
    <member name="T:SpreadsheetGear.Charts.IHasAxis">
      <summary>
            Represents the properties used to determine which axes are displayed on a chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.HasAxis" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IHasAxis.Item(SpreadsheetGear.Charts.AxisType)">
      <summary>
            Gets or sets the property which specifies whether the axis is displayed.
            </summary>
      <param name="type">The axis type.</param>
    </member>
    <member name="P:SpreadsheetGear.Charts.IHasAxis.Item(SpreadsheetGear.Charts.AxisType,SpreadsheetGear.Charts.AxisGroup)">
      <summary>
            Gets or sets the property which specifies whether the axis is displayed.
            </summary>
      <param name="type">The axis type.</param>
      <param name="group">The axis group.</param>
    </member>
    <member name="T:SpreadsheetGear.Charts.IAxis">
      <summary>
            Represents a chart axis.
            </summary>
      <seealso cref="T:SpreadsheetGear.Charts.IAxes" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.AxisBetweenCategories">
      <summary>
            Gets or sets the property which specifies whether the value axis crosses between categories on the category axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.AxisGroup">
      <summary>
            Returns the axis group that this axis belongs to.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.AxisTitle">
      <summary>
            Returns an instance of <strong>IAxisTitle</strong> which represents the title of this axis, or null if <strong>HasTitle</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IAxis.HasTitle" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IAxisTitle</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IAxis.HasTitle" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.BaseUnit">
      <summary>
            Gets or sets the property which specifies the base time unit for a category axis with a time-scale.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.BaseUnitIsAuto">
      <summary>
            Gets or sets the property which specifies whether the base unit is automatically set based on the category axis data.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.CategoryType">
      <summary>
            Gets or sets the property which specifies the scale type on a category axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.Crosses">
      <summary>
            Gets or sets the property which specifies where the other axis crosses this axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.CrossesAt">
      <summary>
            Gets or sets the property which specifies a custom value where the other axis crosses this axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of this axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.HasMajorGridlines">
      <summary>
            Gets or sets the property which specifies whether an axis has major gridlines.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IAxis.MajorGridlines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.HasMinorGridlines">
      <summary>
            Gets or sets the property which specifies whether an axis has minor gridlines.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IAxis.MinorGridlines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.HasTitle">
      <summary>
            Gets or sets the property which specifies whether an axis has a title.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IAxis.AxisTitle" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.LogBase">
      <summary>
            Gets or sets the property which specifies the log base for a value axis with a logarithmic scale.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MajorGridlines">
      <summary>
            Returns an instance of <strong>IGridlines</strong> which represents the major gridlines of this axis, or null if <strong>HasMajorGridlines</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IAxis.HasMajorGridlines" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IGridlines</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IAxis.HasMajorGridlines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MajorTickMark">
      <summary>
            Gets or sets the property which specifies the type of major tick marks on an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MajorUnit">
      <summary>
            Gets or sets the property which specifies the major unit of an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MajorUnitIsAuto">
      <summary>
            Gets or sets the property which specifies whether the major unit is automatically determined on an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MajorUnitScale">
      <summary>
            Gets or sets the property which specifies the major time unit for a category axis with a time-scale.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MaximumScale">
      <summary>
            Gets or sets the property which specifies the maximum scale value of an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MaximumScaleIsAuto">
      <summary>
            Gets or sets the property which specifies whether the maximum scale value is automatically determined on an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MinimumScale">
      <summary>
            Gets or sets the property which specifies the minimum scale value of an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MinimumScaleIsAuto">
      <summary>
            Gets or sets the property which specifies whether the minimum scale value is automatically determined on an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MinorGridlines">
      <summary>
            Returns an instance of <strong>IGridlines</strong> which represents the minor gridlines of this axis, or null if <strong>HasMinorGridlines</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IAxis.HasMinorGridlines" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IGridlines</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IAxis.HasMinorGridlines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MinorTickMark">
      <summary>
            Gets or sets the property which specifies the type of minor tick marks on an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MinorUnit">
      <summary>
            Gets or sets the property which specifies the minor unit of an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MinorUnitIsAuto">
      <summary>
            Gets or sets the property which specifies whether the minor unit is automatically determined on an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.MinorUnitScale">
      <summary>
            Gets or sets the property which specifies the minor time unit for a category axis with a time-scale.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.ReversePlotOrder">
      <summary>
            Gets or sets the property which specifies whether the axis scale values are in reverse order.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.ScaleType">
      <summary>
            Gets or sets the property which specifies the scale type on a value axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.TickLabelPosition">
      <summary>
            Gets or sets the property which specifies the tick label position on an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.TickLabels">
      <summary>
            Returns an instance of <strong>ITickLabels</strong> which represents the tick labels of this axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.TickLabelSpacing">
      <summary>
            Gets or sets the property which specifies the number of categories between each tick label on a category axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.TickLabelSpacingIsAuto">
      <summary>
            Gets or sets the property which specifies whether the tick label spacing is automatically determined on an axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.TickMarkSpacing">
      <summary>
            Gets or sets the property which specifies the number of categories between each tick mark on a category axis.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxis.Type">
      <summary>
            Returns the axis type.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ITickLabels">
      <summary>
            Represents the axis labels of an axis.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IAxis.TickLabels" />
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.RadarAxisLabels" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ITickLabels.Font">
      <summary>
            Returns an instance of <strong>IFont</strong> which represents the font for the axis labels.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITickLabels.NumberFormat">
      <summary>
            Gets or sets the number format of the axis labels.
            </summary>
      <remarks>
            SpreadsheetGear number formats are compatible with Microsoft
            Excel number formats.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITickLabels.NumberFormatLinked">
      <summary>
            Gets or sets the property which specifies whether the axis labels use the same 
            number format as the cells that contain the data for the axis labels.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITickLabels.Orientation">
      <summary>
            Gets or sets the text orientation of the axis labels, which may be from -90 to
            90 degrees or one of the <strong>TickLabelOrientation</strong> constants.
            </summary>
      <seealso cref="T:SpreadsheetGear.Charts.TickLabelOrientation">TickLabelOrientation Class</seealso>
    </member>
    <member name="T:SpreadsheetGear.IName">
      <summary>
            Represents a defined name.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a workbook.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook("2005 Sales.xls");
                    // Enumerate the defined names.
                    foreach (SpreadsheetGear.IName name in workbook.Names)
                        System.Console.WriteLine("Name={0} Formula={1} FormulaR1C1={2}", name.Name, name.RefersTo, name.RefersToR1C1);
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a workbook.
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook("2005 Sales.xls")
                    ' Enumerate the defined names.
                    Dim name As SpreadsheetGear.IName
                    For Each name In workbook.Names
                        System.Console.WriteLine("Name={0} Formula={1} FormulaR1C1={2}", name.Name, name.RefersTo, name.RefersToR1C1)
                    Next name
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IName.Delete">
      <summary>
            Deletes the defined name.
            </summary>
      <remarks>
            The defined name will remain in the workbook with no formula if other
            formulas refer to it.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IName.Comment">
      <summary>
            Gets or sets the comment associated with this defined name.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IName.Index">
      <summary>
            Returns the zero based index of the defined name in the <strong>INames</strong> collection
            of the workbook to which it belongs.
            </summary>
      <remarks>
            Note that this index is into the workbook defined
            name collection, not a worksheet defined names collection.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IName.Name">
      <summary>
            Gets or sets the name of the defined name.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IName.RefersTo">
      <summary>
            Gets or sets the formula which the defined name refers to.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IName.RefersToR1C1">
      <summary>
            Gets or sets the formula which the defined name refers to in R1C1 notation.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IName.RefersToRange">
      <summary>
            Returns the <strong>IRange</strong> which this defined name refers to.
            </summary>
      <remarks>
            If the defined name does not refer to a range, <strong>null</strong> is returned.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IName.Visible">
      <summary>
            Gets or sets the property which determines whether this defined name is visible to the user.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.INames">
      <summary>
            Represents the collection of defined names in a workbook or worksheet.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a workbook.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Get the worksheet and change the name.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    worksheet.Name = "2005 Sales";
                    // Get the worksheet cells reference.
                    SpreadsheetGear.IRange cells = worksheet.Cells;
                    // Add column headers.
                    cells["B1"].Formula = "Jan";
                    cells["C1"].Formula = "Feb";
                    cells["D1"].Formula = "Mar";
                    // Add row headers.
                    cells["A2"].Formula = "Jennifer";
                    cells["A3"].Formula = "William";
                    cells["A4"].Formula = "Kristen";
                    // Add random data.
                    cells["B2:D4"].Formula = "=RAND()*10000";
                    // Center the column headers.
                    cells["B1:D1"].HorizontalAlignment = SpreadsheetGear.HAlign.Center;
                    // Bold the row and column headers.
                    cells["B1:D1,A2:A4"].Font.Bold = true;
                    // Add defined names.
                    SpreadsheetGear.INames names = workbook.Names;
                    names.Add("Jan", "='2005 Sales'!$B$2:$B$4");
                    names.Add("Feb", "='2005 Sales'!$C$2:$C$4");
                    names.Add("Mar", "='2005 Sales'!$D$2:$D$4");
                    names.Add("Sales", "='2005 Sales'!$B$2:$D$4");
                    // Format sales data as currency.
                    cells["Sales"].NumberFormat = "$#,##0";
                    // Sum each month.
                    cells["B5"].Formula = "=SUM(Jan)";
                    cells["C5"].Formula = "=SUM(Feb)";
                    cells["D5"].Formula = "=SUM(Mar)";
                    // Format sums.
                    cells["B5:D5"].NumberFormat = "$#,##0";
                    // Write the workbook.
                    workbook.SaveAs(@"C:\2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97);
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a workbook.
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    ' Get the worksheet and change the name.
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    worksheet.Name = "2005 Sales"
                    ' Get the worksheet cells reference.
                    Dim cells As SpreadsheetGear.IRange = worksheet.Cells
                    ' Add column headers.
                    cells("B1").Formula = "Jan"
                    cells("C1").Formula = "Feb"
                    cells("D1").Formula = "Mar"
                    ' Add row headers.
                    cells("A2").Formula = "Jennifer"
                    cells("A3").Formula = "William"
                    cells("A4").Formula = "Kristen"
                    ' Add random data.
                    cells("B2:D4").Formula = "=RAND()*10000"
                    ' Center the column headers.
                    cells("B1:D1").HorizontalAlignment = SpreadsheetGear.HAlign.Center
                    ' Bold the row and column headers.
                    cells("B1:D1,A2:A4").Font.Bold = True
                    ' Add defined names.
                    Dim names As SpreadsheetGear.INames = workbook.Names
                    names.Add("Jan", "='2005 Sales'!$B$2:$B$4")
                    names.Add("Feb", "='2005 Sales'!$C$2:$C$4")
                    names.Add("Mar", "='2005 Sales'!$D$2:$D$4")
                    names.Add("Sales", "='2005 Sales'!$B$2:$D$4")
                    ' Format sales data as currency.
                    cells("Sales").NumberFormat = "$#,##0"
                    ' Sum each month.
                    cells("B5").Formula = "=SUM(Jan)"
                    cells("C5").Formula = "=SUM(Feb)"
                    cells("D5").Formula = "=SUM(Mar)"
                    ' Format sums.
                    cells("B5:D5").NumberFormat = "$#,##0"
                    ' Write the workbook.
                    workbook.SaveAs("2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97)
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <seealso cref="P:SpreadsheetGear.IWorkbook.Names" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.Names" />
      <seealso cref="T:SpreadsheetGear.IName" />
    </member>
    <member name="M:SpreadsheetGear.INames.Add(System.String,System.String)">
            TODO: DOes it use A1 or the current default notation?
            <summary>
            Adds a name to the collection using the default reference style for the 
            <strong>IWorkbookSet</strong>, or modifies the name if it already exists.
            </summary><param name="name">Specifies the name of the defined name.</param><param name="formula">Specifies the formula to assign to the defined name.</param><returns>The newly created or modified defined name.</returns></member>
    <member name="M:SpreadsheetGear.INames.Add(System.String,System.String,SpreadsheetGear.ReferenceStyle)">
      <summary>
            Adds a name to the collection using the specified reference style,
            or modifies the name if it already exists.
            </summary>
      <param name="name">Specifies the name of the defined name.</param>
      <param name="formula">Specifies the formula to assign to the defined name.</param>
      <param name="referenceStyle">Specifies the <strong>ReferenceStyle</strong> to use.</param>
      <returns>The newly created or modified defined name.</returns>
    </member>
    <member name="M:SpreadsheetGear.INames.Contains(SpreadsheetGear.IName)">
      <summary>
            Returns <strong>true</strong> if the specified <strong>IName</strong> is contained by the collection of defined names,
            otherwise <strong>false</strong> is returned.
            </summary>
      <param name="name">Specifies the name to check.</param>
      <returns>
        <strong>true</strong> if the specified <strong>IName</strong> is contained by the collection of defined names,
            otherwise <strong>false</strong> is returned.</returns>
    </member>
    <member name="P:SpreadsheetGear.INames.Item(System.Int32)">
      <summary>
            Returns the zero based defined name specified by <strong>index</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.INames.Item(System.String)">
      <summary>
            Returns the defined name specified by <strong>index</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.INames.Count">
      <summary>
            Returns the number of defined names in the workbook which contains this defined name collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.CustomFunctions.IValue">
      <summary>
            Represents a simple value which may be empty, numeric, text, logical or an
            error.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.IValue.SetArray(System.Double[0:,0:])">
      <summary>
            Sets the result to the specified two dimensional array of numbers.
            </summary>
      <param name="numbers">The numbers which will be returned by this custom function.</param>
      <remarks>If any of the numbers in the array are not valid numbers, the result of the custom function will be <strong>ValueError.Num</strong>.</remarks>
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IValue.SetArray(System.Object[0:,0:])" />
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.IValue.SetArray(System.Object[0:,0:])">
      <summary>
            Sets the result to the specified two dimensional array of values.
            </summary>
      <param name="values">The objects to be returned by this custom function. Each object must be a <strong>Double</strong>,
            <strong>String</strong>, <see cref="T:SpreadsheetGear.ValueError" />, <strong>Boolean</strong> or <strong>null</strong>, or
            else the result of the array element will be <strong>ValueError.Value</strong>.</param>
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IValue.SetArray(System.Double[0:,0:])" />
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.IValue.SetEmpty">
      <summary>Sets the value to empty.</summary>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IValue.Error">
      <summary>
            Gets or sets an error value. The value returned by this property is undefined if
            <strong>Type</strong> is not equal to ValueType.Error.
            </summary>
      <remarks>
        <para>
                    Setting this property sets <see cref="P:SpreadsheetGear.CustomFunctions.IValue.Type" /> to ValueType.Error.
                </para>
        <para>
                    The value returned by this property is undefined if <see cref="P:SpreadsheetGear.CustomFunctions.IValue.Type" /> is
                    not equal to ValueType.Error.
                </para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IValue.IsEmpty">
      <summary>Returns true if this value is empty.</summary>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IValue.IsError">
      <summary>Returns true if this value is an error.</summary>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IValue.IsNumber">
      <summary>Returns true if this value is a double precision floating point number.</summary>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IValue.IsLogical">
      <summary>Returns true if this value a logical (boolean) value.</summary>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IValue.IsText">
      <summary>Returns true if this value is text.</summary>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IValue.Logical">
      <summary>
            Gets or sets the logical (boolean) value. The value returned by this property is
            undefined if <strong>Type</strong> is not equal to ValueType.Logical.
            </summary>
      <remarks>
        <para>
                    Setting this property sets <see cref="P:SpreadsheetGear.CustomFunctions.IValue.Type" /> to ValueType.Logical.
                </para>
        <para>
                    The value returned by this property is undefined if <see cref="P:SpreadsheetGear.CustomFunctions.IValue.Type" /> is
                    not equal to ValueType.Logical.
                </para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IValue.Number">
      <summary>
            Gets or sets a double precision floating point value. The value returned by this
            property is undefined if <strong>Type</strong> is not equal to ValueType.Number.
            </summary>
      <remarks>
        <para>
                    Setting this property sets <see cref="P:SpreadsheetGear.CustomFunctions.IValue.Type" /> to ValueType.Number.
                </para>
        <para>
                    The value returned by this property is undefined if <see cref="P:SpreadsheetGear.CustomFunctions.IValue.Type" /> is
                    not equal to ValueType.Number.
                </para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IValue.Text">
      <summary>
            Gets or sets a text value. The value returned by this property is undefined if
            <strong>Type</strong> is not equal to ValueType.Text.
            </summary>
      <remarks>
        <para>
                    Setting this property sets <see cref="P:SpreadsheetGear.CustomFunctions.IValue.Type" /> to ValueType.Text.
                </para>
        <para>
                    The value returned by this property is undefined if <see cref="P:SpreadsheetGear.CustomFunctions.IValue.Type" /> is
                    not equal to ValueType.Text.
                </para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IValue.Type">
      <summary>Returns the type of this value.</summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IAxisTitle">
      <summary>
            Represents the title of an axis.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IAxis.AxisTitle" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxisTitle.Font">
      <summary>
            Returns an instance of <strong>IFont</strong> which represents the font for this axis title.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxisTitle.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of this axis title.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxisTitle.IncludeInLayout">
      <summary>
            Gets or sets the property which specifies whether the axis title 
            will be included in the chart layout area.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxisTitle.Orientation">
      <summary>
            Gets or sets the text orientation of the title, which may be from -90 to
            90 degrees or <strong>SpreadsheetGear.Orientation.Vertical</strong>.
            </summary>
      <remarks>
            See the <strong>SpreadsheetGear.Orientation</strong> class for related
            constants.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IAxisTitle.Orientation">Orientation Class</seealso>
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxisTitle.Position">
      <summary>
            Gets or sets the position of the axis title on the chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IPlotArea.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.ILegend.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IChartTitle.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabel.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabels.Position" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IAxisTitle.Text">
      <summary>
            Gets or sets the text of the axis title.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IChartFormat">
      <summary>
            Represents the formatting options of various chart objects.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IAxis.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IAxisTitle.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IChartArea.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IChartTitle.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabel.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabels.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataTable.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IDownBars.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IDropLines.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IErrorBars.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IFloor.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IGridlines.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IHiLoLines.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.ILeaderLines.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.ILegend.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IPlotArea.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IPoint.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.ISeriesLines.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.ITrendline.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IUpBars.Format" />
      <seealso cref="P:SpreadsheetGear.Charts.IWalls.Format" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartFormat.Fill">
      <summary>
            Gets an instance of <strong>IFillFormat</strong> which represents the fill options of the chart object.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartFormat.Line">
      <summary>
            Gets an instance of <strong>ILineFormat</strong> which represents the line options of the chart object.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IChartGroup">
      <summary>
            Represents options for one or more series of a chart.
            </summary>
      <remarks>
        <para>Each chart has one or more chart groups. There is one chart group for each
                chart type (bar, line, area, etc...) which specifies options such as which axis to
                use for that chart type.</para>
        <para>Each series of a chart is associated with exactly one chart group.</para>
      </remarks>
      <seealso cref="T:SpreadsheetGear.Charts.IChartGroups" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.AxisGroup">
      <summary>
            Returns the axis group that this chart group belongs to.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.BubbleScale">
      <summary>
            Gets or sets the percentage of the default bubble size to use for the size of bubbles on a bubble chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.Chart">
      <summary>
            Returns an instance of <strong>IChart</strong> which represents the parent chart of this chart group.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.DoughnutHoleSize">
      <summary>
            Gets or sets the percentage of the chart size to use for the size of the hole in a doughnut chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.DownBars">
      <summary>
            Returns an instance of <strong>IDownBars</strong> which represents the down bars on a line chart, 
            or null if <strong>HasUpDownBars</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IChartGroup.HasUpDownBars" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IDownBars</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.HasUpDownBars" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.DropLines">
      <summary>
            Returns an instance of <strong>IDropLines</strong> which represents the drop lines on a line or area chart, 
            or null if <strong>HasDropLines</strong> is false.
            </summary>
            /// <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IChartGroup.HasDropLines" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IDropLines</strong>.
            </remarks><seealso cref="P:SpreadsheetGear.Charts.IChartGroup.HasDropLines" /></member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.FirstSliceAngle">
      <summary>
            Gets or sets the angle, in degrees, of the first slice in a pie or doughnut chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.GapWidth">
      <summary>
            Gets or sets the distance between bars in a clustered bar chart as a percentage of the bar width, or the distance between 
            each plotted section in a pie of pie chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.Has3DShading">
      <summary>
            Gets or sets the property which specifies whether a surface chart has 3D shading.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.HasDropLines">
      <summary>
            Gets or sets the property which specifies whether a line or area chart has drop lines.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.DropLines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.HasHiLoLines">
      <summary>
            Gets or sets the property which specifies whether a line chart has high-low lines.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.HiLoLines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.HasRadarAxisLabels">
      <summary>
            Gets or sets the property which specifies whether a radar chart has axis labels.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.RadarAxisLabels" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.HasSeriesLines">
      <summary>
            Gets or sets the property which specifies whether a stacked bar or pie of pie
            chart has series lines.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.SeriesLines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.HasUpDownBars">
      <summary>
            Gets or sets the property which specifies whether a line chart has up and down bars.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.DownBars" />
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.UpBars" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.HiLoLines">
      <summary>
            Returns an instance of <strong>IHiLoLines</strong> which represents the high-low lines on a line chart, 
            or null if <strong>HasHiLoLines</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IChartGroup.HasHiLoLines" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IHiLoLines</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.HasHiLoLines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.Index">
      <summary>
            Returns the zero based index of this chart group.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.Overlap">
      <summary>
            Gets or sets the overlap or space between bars within a category as a percentage of the bar width.".
            </summary>
      <remarks>
        <para>The value zero causes the bars to be placed adjacent to each other with no overlap or space between bars.</para>
        <para>The positive value 100 causes bars to overlap completely.</para>
        <para>The negative value -50 causes space equal to one half of the bar width between bars.</para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.RadarAxisLabels">
      <summary>
            Returns an instance of <strong>ITickLabels</strong> which represents the category axis labels on a radar chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.SecondPlotSize">
      <summary>
            Gets or sets the size of the second plot as a percentage of the size of the first plot on a pie of pie chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.SeriesCollection">
      <summary>
            Returns an instance of <strong>ISeriesCollection</strong> which represents all of the series of this chart group.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.SeriesLines">
      <summary>
            Returns an instance of <strong>ISeriesLines</strong> which represents the series lines on a stacked bar or pie of pie chart, 
            or null if <strong>HasSeriesLines</strong> is false.
            </summary>
            /// <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IChartGroup.HasSeriesLines" /> property must be set to <strong>true</strong> to access an instance of
                <strong>ISeriesLines</strong>.
            </remarks><seealso cref="P:SpreadsheetGear.Charts.IChartGroup.HasSeriesLines" /></member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.ShowNegativeBubbles">
      <summary>
            Gets or sets the property which specifies whether bubbles with negative values are shown on a bubble chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.SizeRepresents">
      <summary>
            Gets or sets the property which specifies what the size values represent on a bubble chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.SplitType">
      <summary>
            Gets or sets the property which specifies how values are split on a pie of pie chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.SplitValue">
      <summary>
            Gets or set the property which specifies the separation value on a pie of pie chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.UpBars">
      <summary>
            Returns an instance of <strong>IUpBars</strong> which represents the up bars on a line chart, 
            or null if <strong>HasUpDownBars</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IChartGroup.HasUpDownBars" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IUpBars</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.HasUpDownBars" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroup.VaryByCategories">
      <summary>
            Gets or sets the property which specifies whether colors are varied for each data point 
            of the first series in a chart containing only one series.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IChartGroups">
      <summary>
            Represents a collection of chart groups associated with a chart.
            </summary>
      <seealso cref="T:SpreadsheetGear.Charts.IChartGroup" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroups.Item(System.Int32)">
      <summary>
            Returns the chart group specified by the zero based index.
            </summary>
      <param name="index">The zero based index of the chart group to return.</param>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartGroups.Count">
      <summary>
            Returns the number of chart groups in this collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ISeriesCollection">
      <summary>
            Represents all of the series of a chart or chart group.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.SeriesCollection" />
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.SeriesCollection" />
      <seealso cref="T:SpreadsheetGear.Charts.ISeries" />
    </member>
    <member name="M:SpreadsheetGear.Charts.ISeriesCollection.Add">
      <summary>
            Returns a new series.
            </summary>
      <returns>The new ISeries.</returns>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeriesCollection.Item(System.Int32)">
      <summary>
            Returns the series specified by the zero based index.
            </summary>
      <param name="index">The zero based index of the series to return.</param>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeriesCollection.Count">
      <summary>
            Returns the number of series in this collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IDownBars">
      <summary>
            Represents the down bars on a line chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.DownBars" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IDownBars.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the down bars.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IUpBars">
      <summary>
            Represents the up bars on a line chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.UpBars" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IUpBars.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the up bars.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ILegend">
      <summary>
            Represents a chart legend.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.Legend" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ILegend.Font">
      <summary>
            Returns an instance of <strong>IFont</strong> which represents the font for this legend.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ILegend.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of this legend.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ILegend.Height">
      <summary>
            Gets or sets the height of the legend in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ILegend.IncludeInLayout">
      <summary>
            Gets or sets the property which specifies whether the legend 
            will be included in the chart layout area.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ILegend.Left">
      <summary>
            Gets or sets the position of the left edge of the legend in points.
            </summary>
      <remarks>
            If necessary, the position will be adjusted to a value which will keep 
            the legend inside the bounds of the main chart area.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.Charts.ILegend.Position">
      <summary>
            Gets or sets the position of the legend.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IPlotArea.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IChartTitle.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IAxisTitle.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabel.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabels.Position" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ILegend.Top">
      <summary>
            Gets or sets the position of the top edge of the legend in points.
            </summary>
      <remarks>
            If necessary, the position will be adjusted to a value which will keep 
            the legend inside the bounds of the main chart area.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.Charts.ILegend.Width">
      <summary>
            Gets or sets the width of the legend in points.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IDropLines">
      <summary>
            Represents the drop lines on a line or area chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.DropLines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IDropLines.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the drop lines.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IGridlines">
      <summary>
            Represents the major or minor gridlines of an axis.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IAxis.MajorGridlines" />
      <seealso cref="P:SpreadsheetGear.Charts.IAxis.MinorGridlines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IGridlines.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the gridlines.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IHiLoLines">
      <summary>
            Represents the high-low lines on a line chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.HiLoLines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IHiLoLines.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the high-low lines.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ILeaderLines">
      <summary>
            Represents the leader lines of a series.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.LeaderLines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ILeaderLines.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the leader lines.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ISeriesLines">
      <summary>
            Represents the series lines on a stacked bar or pie of pie chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChartGroup.SeriesLines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeriesLines.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the series lines.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Extensions.Factory">
      <summary>
            Provides an abstract factory class for functionality which is not included in the Microsoft .NET Framework 2.0.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Extensions.Factory.GetFactory">
      <summary>
            Returns an instance of Factory which is loaded using reflection or throws an InvalidOperationException
            if no instance of Factory can be created.
            </summary>
      <returns>
      </returns>
    </member>
    <member name="M:SpreadsheetGear.Extensions.Factory.SetFactory(SpreadsheetGear.Extensions.Factory)">
      <summary>
            Sets the instance of Factory to be used.
            </summary>
      <param name="factory">The instance of Factory to use or <strong>null</strong> if no Factory should be used..</param>
      <remarks>
            If <strong>SetFactory</strong> is called, SpreadsheetGear will not try to create an instance of
            <strong>SpreadsheetGear.Extensions.Dotnet3.FactoryImpl</strong> using reflection.
            </remarks>
    </member>
    <member name="T:SpreadsheetGear.IO.Packaging.IPackage">
      <summary>
            Defines the Package interface used by SpreadsheetGear.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IChart">
      <summary>
            Represents a chart which may be a shape on a worksheet or a chart sheet in a workbook.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IPrintable">
      <summary>
            Marks a class or interface as being printable.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Charts.IChart.SetSourceData(SpreadsheetGear.IRange,SpreadsheetGear.Charts.RowCol)">
      <summary>
            Set the data range for the chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.AutoScaling">
      <summary>
            Gets or sets the property which specifies whether 3D charts will be scaled 
            to approximate the size of the equivalent 2D chart.
            </summary>
      <remarks>
                This property is ignored if <see cref="P:SpreadsheetGear.Charts.IChart.RightAngleAxes" /> is not set to
                <strong>true</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.RightAngleAxes" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.Axes">
      <summary>
            Returns an instance of <strong>IAxes</strong> which represents the axes of this chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.BackWall">
      <summary>
            Returns an instance of <strong>IWalls</strong> which represents the back wall of a 3D chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.ChartArea">
      <summary>
            Returns an instance of <strong>IChartArea</strong> which represents the chart area of this chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.ChartGroups">
      <summary>
            Returns an instance of <strong>IChartGroups</strong> which represents the chart groups of this chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.ChartTitle">
      <summary>
            Returns an instance of <strong>IChartTitle</strong> which represents the title of this chart, or null if <strong>HasTitle</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IChart.HasTitle" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IChartTitle</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.HasTitle" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.ChartType">
      <summary>
            Gets or sets the property which specifies the chart type.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.DataTable">
      <summary>
            Returns an instance of <strong>IDataTable</strong> which represents the data table of this chart, or null if <strong>HasDataTable</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IChart.HasDataTable" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IDataTable</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.HasDataTable" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.DepthPercent">
      <summary>
            Gets or sets the depth of a 3D chart as a percentage of the width of the chart. Must be between 20 (20%) and 2000 (2000%).
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.DisplayBlanksAs">
      <summary>
            Gets or sets the property which specifies how cells with no values are displayed.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.Elevation">
      <summary>
            Gets or sets the elevation from which a 3D chart is viewed in degrees.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.Floor">
      <summary>
            Returns an instance of <strong>IFloor</strong> which represents the floor area of a 3D chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.GapDepth">
      <summary>
            Gets or sets the overlap or space between bar series in a 3D bar chart as a percentage of the bar depth. 
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.HasAxis">
      <summary>
            Returns an instance of <strong>IHasAxis</strong> which represents the
            properties used to determine which axes are displayed on a chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.HasDataTable">
      <summary>
            Gets or sets the property which specifies whether a chart has a data table.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.DataTable" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.HasLegend">
      <summary>
            Gets or sets the property which specifies whether a chart has a legend.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.Legend" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.HasTitle">
      <summary>
            Gets or sets the property which specifies whether a chart has a title.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.ChartTitle" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.HeightPercent">
      <summary>
            Gets or sets the height of a 3D chart as a percentage of the width of the chart. Must be between 5 (5%) and 500 (500%).
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.Legend">
      <summary>
            Returns an instance of <strong>ILegend</strong> which represents the legend of this chart, or null if <strong>HasLegend</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IChart.HasLegend" /> property must be set to <strong>true</strong> to access an instance of
                <strong>ILegend</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.HasLegend" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.PageSetup">
      <summary>
            Returns an instance of <strong>IPageSetup</strong> which represents the page setup options of this chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.Perspective">
      <summary>
            Gets or sets the property which specifies the view perspective of a 3D chart as a value between 0 and 100.
            </summary>
      <remarks>
                This property is ignored if <see cref="P:SpreadsheetGear.Charts.IChart.RightAngleAxes" /> is set to
                <strong>true</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.RightAngleAxes" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.PlotArea">
      <summary>
            Returns an instance of <strong>IPlotArea</strong> which represents the plot area of this chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.PlotVisibleOnly">
      <summary>
            Gets or sets the property which specifies whether hidden cells are skipped 
            (set this property to <strong>false</strong>) or included (set this property to <strong>true</strong>).
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.RightAngleAxes">
      <summary>
            Gets or sets the property which specifies whether 3D chart axes are at right angles regardless of the 3D view settings.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.Rotation">
      <summary>
            Gets or sets the property which specifies the rotation of a 3D chart around it's z-axis in degrees.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.SeriesCollection">
      <summary>
            Returns an instance of <strong>ISeriesCollection</strong> which represents all of the series of this chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.Sheet">
      <summary>
            Gets the <strong>ISheet</strong> associated with the represented chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChart.SideWall">
      <summary>
            Returns an instance of <strong>IWalls</strong> which represents the side wall of a 3D chart.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IChartArea">
      <summary>
            Represents the chart area of a chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.ChartArea" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartArea.Font">
      <summary>
            Returns an instance of <strong>IFont</strong> which represents the default font for the entire chart area.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartArea.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the chart area.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IDataTable">
      <summary>
            Represents a chart data table.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.DataTable" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataTable.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of this data table.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataTable.HasBorderHorizontal">
      <summary>
            Gets or sets the property which specifies whether the data table has a horizontal border.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataTable.HasBorderOutline">
      <summary>
            Gets or sets the property which specifies whether the data table has an outline border.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataTable.HasBorderVertical">
      <summary>
            Gets or sets the property which specifies whether the data table has a vertical border.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataTable.ShowLegendKey">
      <summary>
            Gets or sets the property which specifies whether legend keys are displayed on the data table.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IPlotArea">
      <summary>
            Represents the plot area of a chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.PlotArea" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IPlotArea.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the plot area.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPlotArea.Height">
      <summary>
            Gets or sets the height of the plot area in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPlotArea.Left">
      <summary>
            Gets or sets the position of the left edge of the plot area in points.
            </summary>
      <remarks>
            If necessary, the position will be adjusted to a value which will keep 
            the plot area inside the bounds of the main chart area.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPlotArea.Position">
      <summary>
            Gets or sets the position of the plot area on the chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ILegend.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IChartTitle.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IAxisTitle.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabel.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabels.Position" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IPlotArea.Top">
      <summary>
            Gets or sets the position of the top edge of the plot area in points.
            </summary>
      <remarks>
            If necessary, the position will be adjusted to a value which will keep 
            the plot area inside the bounds of the main chart area.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPlotArea.Width">
      <summary>
            Gets or sets the width of the plot area in points.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IFloor">
      <summary>
            Represents the floor area of a 3D chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.Floor" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IFloor.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the floor.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IWalls">
      <summary>
            Represents the front and side wall area of a 3D chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.BackWall" />
      <seealso cref="P:SpreadsheetGear.Charts.IChart.SideWall" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IWalls.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the walls.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IChartTitle">
      <summary>
            Represents the chart title of a chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IChart.ChartTitle" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartTitle.Font">
      <summary>
            Returns an instance of <strong>IFont</strong> which represents the font for this chart title.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartTitle.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of this chart title.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartTitle.IncludeInLayout">
      <summary>
            Gets or sets the property which specifies whether the chart title 
            will be included in the chart layout area.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartTitle.Left">
      <summary>
            Gets or sets the position of the left edge of the chart title in points.
            </summary>
      <remarks>
            If necessary, the position will be adjusted to a value which will keep 
            the chart title inside the bounds of the main chart area.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartTitle.Orientation">
      <summary>
            Gets or sets the text orientation of the title, which may be from -90 to
            90 degrees or <strong>SpreadsheetGear.Orientation.Vertical</strong>.
            </summary>
      <remarks>
            See the <strong>SpreadsheetGear.Orientation</strong> class for related
            constants.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IChartTitle.Orientation">Orientation Class</seealso>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartTitle.Position">
      <summary>
            Gets or sets the position of the chart title on the chart.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IPlotArea.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.ILegend.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IAxisTitle.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabel.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabels.Position" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartTitle.Text">
      <summary>
            Gets or sets the text of the chart title.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IChartTitle.Top">
      <summary>
            Gets or sets the position of the top edge of the chart title in points.
            </summary>
      <remarks>
            If necessary, the position will be adjusted to a value which will keep 
            the chart title inside the bounds of the main chart area.
            </remarks>
    </member>
    <member name="T:SpreadsheetGear.Charts.ISeries">
      <summary>
            Represents a chart series.
            </summary>
      <seealso cref="T:SpreadsheetGear.Charts.ISeriesCollection" />
    </member>
    <member name="M:SpreadsheetGear.Charts.ISeries.Delete">
      <summary>
            Deletes the series.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Charts.ISeries.ErrorBar(SpreadsheetGear.Charts.ErrorBarDirection,SpreadsheetGear.Charts.ErrorBarInclude,SpreadsheetGear.Charts.ErrorBarType,System.Double)">
      <summary>
            Add error bars to this series.
            </summary>
      <param name="direction">
      </param>
      <param name="include">
      </param>
      <param name="type">
      </param>
      <param name="amount">
      </param>
    </member>
    <member name="M:SpreadsheetGear.Charts.ISeries.ErrorBar(SpreadsheetGear.Charts.ErrorBarDirection,SpreadsheetGear.Charts.ErrorBarInclude,SpreadsheetGear.Charts.ErrorBarType,System.String,System.String)">
      <summary>
            Add error bars to this series.
            </summary>
      <param name="direction">
      </param>
      <param name="include">
      </param>
      <param name="type">
      </param>
      <param name="plusValues">
      </param>
      <param name="minusValues">
      </param>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.AxisGroup">
      <summary>
            Gets or sets the property which specifies which axis group this series is plotted on.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.BarShape">
      <summary>
            Gets or sets the property which specifies the shape of 3D bars.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.BubbleSizes">
      <summary>
            Gets or sets the bubble size values for the series.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.Values" />
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.XValues" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.ChartType">
      <summary>
            Gets or sets the property which specifies the chart type.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.DataLabels">
      <summary>
            Returns an instance of <strong>IDataLabels</strong> which represents all of the data labels of this series, 
            or null if <strong>HasDataLabels</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.ISeries.HasDataLabels" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IDataLabels</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.HasDataLabels" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.ErrorBars">
      <summary>
            Returns an instance of <strong>IErrorBars</strong> which represents the error bars of this series, 
            or null if <strong>HasErrorBars</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.ISeries.HasErrorBars" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IErrorBars</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.HasErrorBars" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.Explosion">
      <summary>
            Gets or sets the property which specifies the explosion value for all of 
            the data points of this series on a pie or doughnut chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of this series.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.Has3DEffect">
      <summary>
            Gets or sets the property which specifies whether all the bubbles in a 
            bubble series are displayed with a 3D effect.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.HasDataLabels">
      <summary>
            Gets or sets the property which specifies whether the series has data labels.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.DataLabels" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.HasErrorBars">
      <summary>
            Gets or sets the property which specifies whether the series has error bars.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.ErrorBars" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.HasLeaderLines">
      <summary>
            Gets or sets the property which specifies whether the series has leader lines.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.LeaderLines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.InvertIfNegative">
      <summary>
            Gets or sets the property which specifies whether pattern colors 
            are inverted on data points with negative values.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.LeaderLines">
      <summary>
            Returns an instance of <strong>ILeaderLines</strong> which represents the leader lines of this series, 
            or null if <strong>HasLeaderLines</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.ISeries.HasLeaderLines" /> property must be set to <strong>true</strong> to access an instance of
                <strong>ILeaderLines</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.HasLeaderLines" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.MarkerBackgroundColor">
      <summary>
            Gets or sets the <strong>SpreadsheetGear.Color</strong> of the marker background.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.MarkerForegroundColor">
      <summary>
            Gets or sets the <strong>SpreadsheetGear.Color</strong> of the marker foreground.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.MarkerSize">
      <summary>
            Gets or sets the property which specifies the marker size in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.MarkerStyle">
      <summary>
            Gets or sets the property which specifies the marker style.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.Name">
      <summary>
            Gets or sets the name of the series.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.Points">
      <summary>
            Returns an instance of <strong>IPoints</strong> which represents all of the data points of this series.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.Smooth">
      <summary>
            Gets or sets the property which specifies whether smoothing is used on a line series.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.Trendlines">
      <summary>
            Returns an instance of <strong>ITrendlines</strong> which represents all of the trendlines of this series.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.Values">
      <summary>
            Gets or sets the values for the series.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.BubbleSizes" />
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.XValues" />
    </member>
    <member name="P:SpreadsheetGear.Charts.ISeries.XValues">
      <summary>
            Gets or sets the x values for the series.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.BubbleSizes" />
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.Values" />
    </member>
    <member name="T:SpreadsheetGear.Charts.IPoint">
      <summary>
            Represents a single data point of a series.
            </summary>
      <seealso cref="T:SpreadsheetGear.Charts.IPoints" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoint.DataLabel">
      <summary>
            Returns an instance of <strong>IDataLabel</strong> which represents the data label of this data point, 
            or null if <strong>HasDataLabel</strong> is false.
            </summary>
      <remarks>
                The <see cref="P:SpreadsheetGear.Charts.IPoint.HasDataLabel" /> property must be set to <strong>true</strong> to access an instance of
                <strong>IDataLabel</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IPoint.HasDataLabel" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoint.Explosion">
      <summary>
            Gets or sets the property which specifies the explosion value for this data point on a pie or doughnut chart.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoint.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of this data point.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoint.HasDataLabel">
      <summary>
            Gets or sets the property which specifies whether the data point has a data label.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IPoint.DataLabel" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoint.InvertIfNegative">
      <summary>
            Gets or sets the property which specifies whether pattern colors 
            are inverted if the data point has a negative value.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoint.MarkerBackgroundColor">
      <summary>
            Gets or sets the <strong>SpreadsheetGear.Color</strong> of the marker background.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoint.MarkerForegroundColor">
      <summary>
            Gets or sets the <strong>SpreadsheetGear.Color</strong> of the marker foreground.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoint.MarkerSize">
      <summary>
            Gets or sets the property which specifies the marker size in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoint.MarkerStyle">
      <summary>
            Gets or sets the property which specifies the marker style.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoint.SecondaryPlot">
      <summary>
            Gets or sets the property which specifies whether the data point is in the secondary plot on a pie of pie chart.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IDataLabel">
      <summary>
            Represents a single data label of a data point or trendline.
            </summary>
      <seealso cref="T:SpreadsheetGear.Charts.IDataLabels" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.AutoText">
      <summary>
            Gets or sets the property which specifies whether the text is automatically generated based on the data label type.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.Font">
      <summary>
            Returns an instance of <strong>IFont</strong> which represents the font for this data label.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of this data label.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.NumberFormat">
      <summary>
            Gets or sets the number format of the data label.
            </summary>
      <remarks>
            SpreadsheetGear number formats are compatible with Microsoft
            Excel number formats.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.NumberFormatLinked">
      <summary>
            Gets or sets the property which specifies whether the data label uses the same 
            number format as the cells that contain the data for the associated data point.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.Orientation">
      <summary>
            Gets or sets the text orientation of the data label, which may be from -90 to
            90 degrees or <strong>SpreadsheetGear.Orientation.Vertical</strong>.
            </summary>
      <remarks>
            See the <strong>SpreadsheetGear.Orientation</strong> class for related
            constants.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabel.Orientation">Orientation Class</seealso>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.Position">
      <summary>
            Gets or sets the position of the data label.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IPlotArea.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.ILegend.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IChartTitle.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IAxisTitle.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabels.Position" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.ShowBubbleSize">
      <summary>
            Gets or sets the property which specifies whether the data label shows the bubble size.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.ShowCategoryName">
      <summary>
            Gets or sets the property which specifies whether the data label shows the category name.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.ShowLegendKey">
      <summary>
            Gets or sets the property which specifies whether the data label shows the legend key.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.ShowPercentage">
      <summary>
            Gets or sets the property which specifies whether the data label shows the percentage.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.ShowValue">
      <summary>
            Gets or sets the property which specifies whether the data label shows the value.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabel.Text">
      <summary>
            Gets or sets the text of the data label.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IPoints">
      <summary>
            Represents all of the data points of a series.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.Points" />
      <seealso cref="T:SpreadsheetGear.Charts.IPoint" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoints.Item(System.Int32)">
      <summary>
            Returns the data point specified by the zero based index.
            </summary>
      <param name="index">The zero based index of the data point to return.</param>
    </member>
    <member name="P:SpreadsheetGear.Charts.IPoints.Count">
      <summary>
            Returns the number of data points in this collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IDataLabels">
      <summary>
            Represents all of the data labels of a series.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.DataLabels" />
      <seealso cref="T:SpreadsheetGear.Charts.IDataLabel" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.Item(System.Int32)">
      <summary>
            Returns the data label specified by the zero based index.
            </summary>
      <param name="index">The zero based index of the data label to return.</param>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.AutoText">
      <summary>
            Gets or sets the property which specifies whether the text is automatically generated based on the data label type.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.Count">
      <summary>
            Returns the number of data labels in this collection.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.Font">
      <summary>
            Returns an instance of <strong>IFont</strong> which represents the font for this data label collection.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of this data label collection.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.NumberFormat">
      <summary>
            Gets or sets the number format of the data labels in the collection.
            </summary>
      <remarks>
            SpreadsheetGear number formats are compatible with Microsoft
            Excel number formats.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.NumberFormatLinked">
      <summary>
            Gets or sets the property which specifies whether the data labels in the collection use 
            the same number format as the cells that contain the data for the associated data points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.Orientation">
      <summary>
            Gets or sets the text orientation of the data labels in the collection, which may be from -90 to
            90 degrees or <strong>SpreadsheetGear.Orientation.Vertical</strong>.
            </summary>
      <remarks>
            See the <strong>SpreadsheetGear.Orientation</strong> class for related
            constants.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabels.Orientation">Orientation Class</seealso>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.Position">
      <summary>
            Gets or sets the position of the data labels in the collection.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.IPlotArea.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.ILegend.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IChartTitle.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IAxisTitle.Position" />
      <seealso cref="P:SpreadsheetGear.Charts.IDataLabel.Position" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.ShowBubbleSize">
      <summary>
            Gets or sets the property which specifies whether the data labels in the collection show the bubble size.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.ShowCategoryName">
      <summary>
            Gets or sets the property which specifies whether the data labels in the collection show the category name.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.ShowLegendKey">
      <summary>
            Gets or sets the property which specifies whether the data labels in the collection show the legend key.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.ShowPercentage">
      <summary>
            Gets or sets the property which specifies whether the data labels in the collection show the percentage.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IDataLabels.ShowValue">
      <summary>
            Gets or sets the property which specifies whether the data labels in the collection show the value.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.IErrorBars">
      <summary>
            Represents the error bars of a series.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.ErrorBars" />
    </member>
    <member name="P:SpreadsheetGear.Charts.IErrorBars.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of the error bars.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.IErrorBars.EndStyle">
      <summary>
            Gets or sets the property which specifies the end style cap of the error bars.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ITrendline">
      <summary>
            Represents a trendline of a series.
            </summary>
      <seealso cref="T:SpreadsheetGear.Charts.ITrendlines" />
    </member>
    <member name="M:SpreadsheetGear.Charts.ITrendline.Delete">
      <summary>
            Deletes the trendline.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.Backward">
      <summary>
            Gets or sets the property which specifies the number of periods to forecast backward.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.DataLabel">
      <summary>
            Returns an instance of <strong>IDataLabel</strong> which represents the data label of this trendline.
            </summary>
      <remarks>The data label is used to display the equation or R-Squared value of the trendline.</remarks>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.DisplayEquation">
      <summary>
            Gets or sets the property which specifies whether the equation is displayed in the trendline data label.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.DisplayRSquared">
      <summary>
            Gets or sets the property which specifies whether the R-Squared value is displayed in the trendline data label.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.Format">
      <summary>
            Returns an instance of <strong>IChartFormat</strong> which represents the formatting options of this trendline.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.Forward">
      <summary>
            Gets or sets the property which specifies the number of periods to forecast forward.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.Index">
      <summary>
            Returns the zero based index of this trendline.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.Intercept">
      <summary>
            Gets or sets the property which specifies the y-intercept of the trendline.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.InterceptIsAuto">
      <summary>
            Gets or sets the property which specifies whether the y-intercept of the trendline is automatically determined.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.Name">
      <summary>
            Gets or sets the property which specifies a custom name for the trendline.
            </summary>
      <remarks>The trendline name is used to identify the trendline in the legend.</remarks>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.NameIsAuto">
      <summary>
            Gets or sets the property which specifies whether the name of the trendline is automatically determined.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.Order">
      <summary>
            Gets or sets the property which specifies the order on a polynomial trendline.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.Period">
      <summary>
            Gets or sets the property which specifies the period on a moving average trendline.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendline.Type">
      <summary>
            Gets or sets the property which specifies the trendline type.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ITrendlines">
      <summary>
            Represents all of the trendlines of a series.
            </summary>
      <seealso cref="P:SpreadsheetGear.Charts.ISeries.Trendlines" />
      <seealso cref="T:SpreadsheetGear.Charts.ITrendline" />
    </member>
    <member name="M:SpreadsheetGear.Charts.ITrendlines.Add(SpreadsheetGear.Charts.TrendlineType)">
      <summary>
            Returns a new trendline.
            </summary>
      <param name="type">Specifies the type of trendline.</param>
      <returns>The new ITrendline.</returns>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendlines.Item(System.Int32)">
      <summary>
            Returns the trendline specified by the zero based index.
            </summary>
      <param name="index">The zero based index of the trendline to return.</param>
    </member>
    <member name="P:SpreadsheetGear.Charts.ITrendlines.Count">
      <summary>
            Returns the number of trendlines in this collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.IColorFormat">
      <summary>
            Represents color information.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IFillFormat" />
      <seealso cref="T:SpreadsheetGear.Shapes.ILineFormat" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IColorFormat.RGB">
      <summary>
            Gets or sets the RGB value of this color as an instance of <strong>SpreadsheetGear.Color</strong>.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.RGB" />
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.SchemeColor" />
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.TintAndShade" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IColorFormat.RGBDefined">
      <summary>
            Returns true if the <strong>RGB</strong> property of colors represented
            by this <strong>IColorFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IColorFormat.SchemeColor">
      <summary>
            Gets or sets this color by index.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.RGB" />
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.TintAndShade" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IColorFormat.SchemeColorDefined">
      <summary>
            Returns true if the <strong>SchemeColor</strong> property of colors represented
            by this <strong>IColorFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IColorFormat.TintAndShade">
      <summary>
            Gets or sets the color modifier.
            </summary>
      <remarks>A value of -1 makes this color black, 1 makes this color white, 0.0 leaves the color as is.</remarks>
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.RGB" />
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.SchemeColor" />
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.ThemeColor" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IColorFormat.ThemeColor">
      <summary>
            Gets or sets the theme color of all objects represented by this <strong>IColorFormat</strong>.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.RGB" />
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.SchemeColor" />
      <seealso cref="P:SpreadsheetGear.Shapes.IColorFormat.TintAndShade" />
    </member>
    <member name="T:SpreadsheetGear.Shapes.IFillFormat">
      <summary>
            Represents the fill options of a shape or chart.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IShapes" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IFillFormat.OneColorGradient(SpreadsheetGear.Shapes.GradientStyle,System.Double)">
      <summary>
            Sets this fill to a one-color gradient fill.
            </summary>
      <param name="gradientStyle">Specifies the style and direction of the gradient fill.</param>
      <param name="degree">Specifies the gradient degree as a value from 0.0 (dark) to 1.0 (light).</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IFillFormat.PresetGradient(SpreadsheetGear.Shapes.GradientStyle,SpreadsheetGear.Shapes.PresetGradientType)">
      <summary>
            Sets this fill to a preset gradient fill.
            </summary>
      <param name="gradientStyle">Specifies the style and direction of the gradient fill.</param>
      <param name="presetGradientType">Specifies the type of preset gradient.</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IFillFormat.Solid">
      <summary>
            Sets this fill to a solid fill.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IFillFormat.TwoColorGradient(SpreadsheetGear.Shapes.GradientStyle)">
      <summary>
            Sets this fill to a two-color gradient fill.
            </summary>
      <param name="gradientStyle">Specifies the style and direction of the gradient fill.</param>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.BackColor">
      <summary>
            Gets an instance of <strong>IColorFormat</strong> which represents the background color.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.ForeColor">
      <summary>
            Gets an instance of <strong>IColorFormat</strong> which represents the foreground color.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.GradientColorType">
      <summary>
            Gets the gradient color type of the represented fill.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.GradientDegree">
      <summary>
            Gets the gradient degree of a one-color shaded fill as a value from 0.0 (dark) to 1.0 (light).
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.GradientDegreeDefined">
      <summary>
            Returns true if the <strong>GradientDegree</strong> property of all shapes represented
            by this <strong>IFillFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.GradientStops">
      <summary>
            Gets an instance of <strong>IGradientStops</strong> which represents the gradient stops of this fill.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.GradientStyle">
      <summary>
            Gets the gradient style of this fill.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.PresetGradientType">
      <summary>
            Gets the preset gradient type of this fill.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.Type">
      <summary>
            Gets the fill type represented by this fill.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.TypeDefined">
      <summary>
            Returns true if the <strong>Type</strong> property of all shapes represented
            by this <strong>IFillFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.Transparency">
      <summary>
            Gets or sets the level of transparency of this fill as a value from 0.0 (opaque) to 1.0 (transparent).
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.TransparencyDefined">
      <summary>
            Returns true if the <strong>Transparency</strong> property of all shapes represented
            by this <strong>IFillFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.Visible">
      <summary>
            Gets or sets the property which specifies whether the represented object should be filled.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IFillFormat.VisibleDefined">
      <summary>
            Returns true if the <strong>Visible</strong> property of all shapes represented
            by this <strong>IFillFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.IShape">
      <summary>
            Represents a shape object which may be a chart, a drawing object or a control.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IShapes" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShape.BringForward">
      <summary>
            Brings this shape forward by one position.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.BringToFront" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.SendBackward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.SendToBack" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.ZOrderPosition" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShape.BringToFront">
      <summary>
            Brings this shape to the front of all shapes.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.BringForward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.SendBackward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.SendToBack" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.ZOrderPosition" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShape.Delete">
      <summary>
            Deletes this shape.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShape.IncrementLeft(System.Double)">
      <summary>
            Increments the left edge of this shape by the specified value in points.
            </summary>
      <param name="increment">Specifies the increment in points.</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShape.IncrementTop(System.Double)">
      <summary>
            Increments the top edge of this shape by the specified value in points.
            </summary>
      <param name="increment">Specifies the increment in points.</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShape.ScaleHeight(System.Double,System.Boolean,SpreadsheetGear.Shapes.ScaleFrom)">
      <summary>
            Scales this shape by the specified factor from the original or current size and from the specified position.
            </summary>
      <param name="factor">Specifies the factor by which to scale the original or current size.</param>
      <param name="useOriginalSize">SPecifies whether the original size of pictures should be used as the starting size.</param>
      <param name="position">Specifies whether the size should be scaled from the top-left, middle or bottom-right of the shape.</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShape.ScaleWidth(System.Double,System.Boolean,SpreadsheetGear.Shapes.ScaleFrom)">
      <summary>
            Scales this shape by the specified factor from the original or current size and from the specified position.
            </summary>
      <param name="factor">Specifies the factor by which to scale the original or current size.</param>
      <param name="useOriginalSize">SPecifies whether the original size of pictures should be used as the starting size.</param>
      <param name="position">Specifies whether the size should be scaled from the top-left, middle or bottom-right of the shape.</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShape.Select(System.Boolean)">
      <summary>
            Selects this shape, replacing any previously selected shapes if <strong>replace</strong> is true.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShape.SendBackward">
      <summary>
            Sends this shape backward by one position.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.BringForward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.BringToFront" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.SendToBack" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.ZOrderPosition" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShape.SendToBack">
      <summary>
            Sends this shape to the back of all shapes.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.BringForward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.BringToFront" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.SendBackward" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.ZOrderPosition" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.AutoShapeType">
      <summary>
            Gets or sets the auto shape type of this shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.BottomRightCell">
      <summary>
            Gets an instance of <strong>IRange</strong> representing the cell under the lower right corner of this shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Chart">
      <summary>
            Returns the instance of <strong>IChart</strong> associated with this shape or null if there is no chart associated with this shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.ControlFormat">
      <summary>
            Gets an instance of <strong>IControlFormat</strong> representing the control options of this shape, or null if this shape does not represent a control.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Fill">
      <summary>
            Gets an instance of <strong>IFillFormat</strong> which represents the fill options of this shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.FormControlType">
      <summary>
            Gets the <strong>FormControlType</strong> of this shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.GroupItems">
      <summary>
            Gets an <see cref="T:SpreadsheetGear.Shapes.IGroupShapes" /> which represents the shapes making up a group, or null if this shape does not represent a group.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.HasChart">
      <summary>
            Returns true if there is a chart associated with this shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Height">
      <summary>
            Gets or sets the height of this shape in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.HorizontalFlip">
      <summary>
            Gets the flag which indicates whether this shape is flipped horizontally.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.ID">
      <summary>
            Gets the id of this shape.
            </summary>
      <remarks>
            Each shape is assigned a read-only ID when it is created.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Left">
      <summary>
            Gets or sets the position of the left edge of this shape (from the left edge of the sheet) in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Line">
      <summary>
            Gets an instance of <strong>ILineFormat</strong> which represents the line options of this shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.LockAspectRatio">
      <summary>
            Gets or sets the flag which indicates whether the aspect ratio of this shape is locked.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Locked">
      <summary>
            Gets or sets the flag which indicates whether this shape can be modified when sheet protection is enabled.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Name">
      <summary>
            Gets or sets the name of this shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.ParentGroup">
      <summary>
            Returns the parent shape of this shape if this shape is part of a group, or returns null if this shape is not part of a group.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.PictureFormat">
      <summary>
            Returns an <see cref="T:SpreadsheetGear.Shapes.IPictureFormat" /> which represents the picture format options of this shape, or null if this shape does not represent a picture.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.PictureFormat" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Placement">
      <summary>
            Gets or sets the <strong>Placement</strong> setting of this shape, which specifies how changes to the sheet will affect the placement of this shape.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.Placement" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.PrintObject">
      <summary>
            Gets or sets the property which specifies whether this shape should be printed.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Sheet">
      <summary>
            Gets the <strong>ISheet</strong> associated with the represented shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.TextFrame">
      <summary>
            Returns an <strong>ITextFrame</strong> which represents the text options of a shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Top">
      <summary>
            Gets or sets the position of the top edge of this shape (from the top edge of the sheet) in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.TopLeftCell">
      <summary>
            Gets an <see cref="T:SpreadsheetGear.IRange" /> representing the cell under the upper left corner of this shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Type">
      <summary>
            Gets the type of this shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.VerticalFlip">
      <summary>
            Gets the flag which indicates whether this shape is flipped vertically.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Visible">
      <summary>
            Gets the flag which specifies whether this shape is visible.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.Width">
      <summary>
            Gets or sets the width of this shape in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShape.ZOrderPosition">
      <summary>
            Gets the zero based Z-Order position of this shape which corresponds to this shapes position in it's parent shape collection.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.BringForward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.BringToFront" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.SendBackward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.SendToBack" />
    </member>
    <member name="T:SpreadsheetGear.Shapes.IShapes">
      <summary>
            Represents a collection of <see>IShape</see> objects.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapes.AddChart(System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Adds a chart to the shapes collection at the specified position and
            with the specified size.
            </summary>
      <returns>A shape object representing the newly created chart.</returns>
      <param name="left">Left edge of the new chart in points.</param>
      <param name="top">Top edge of the new chart in points.</param>
      <param name="width">Width of the new chart in points.</param>
      <param name="height">Height of the new chart in points.</param>
      <remarks>
        <para>
                    Use <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" /> and
                    <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" /> to
                    convert row and column positions to points.
                </para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapes.AddFormControl(SpreadsheetGear.Shapes.FormControlType,System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Adds the specified form control to the shapes collection at the specified position and
            with the specified size.
            </summary>
      <returns>A shape object representing the newly created form control.</returns>
      <param name="type">The type of the new form control.</param>
      <param name="left">Left edge of the new shape in points.</param>
      <param name="top">Top edge of the new shape in points.</param>
      <param name="width">Width of the new shape in points.</param>
      <param name="height">Height of the new shape in points.</param>
      <remarks>
        <para>
                    Use <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" /> and
                    <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" /> to
                    convert row and column positions to points.
                </para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapes.AddLine(System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Adds a line to the shapes collection with the specified beginning and ending position.
            </summary>
      <returns>A shape object representing the newly created line.</returns>
      <param name="beginX">The beginning X position in points.</param>
      <param name="beginY">The beginning Y position in points.</param>
      <param name="endX">The ending X position in points.</param>
      <param name="endY">The ending Y position in points.</param>
      <remarks>
        <para>
                    Use <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" /> and
                    <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" /> to
                    convert row and column positions to points.
                </para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapes.AddPicture(System.String,System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Adds the specified picture to the shapes collection at the specified position and
            with the specified size.
            </summary>
      <returns>A shape object representing the newly created picture.</returns>
      <remarks>
        <para>
                    Use <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" /> and
                    <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" /> to
                    convert row and column positions to points.
                </para>
        <para>Pictures with PNG, JPEG and Enhanced Windows Metafiles magic signatures are
                stored in the workbook as is. All other images are converted to PNG before being
                stored in the workbook.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" />
      <example>
                Demonstrate adding a picture to a new workbook and returning the workbook from an
                ASP.NET page.
                <code lang="CS">
            void Page_Load(Object sender, EventArgs e)
                {
                    // Create a new empty workbook and get the first sheet. 
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    
                    // Get the image file name.
                    String imageFile = Server.MapPath("files/ssgear.gif");
                    
                    // Get the width and height of the picture in pixels and convert to
                    // points for use in the call to AddPicture.  This step is only
                    // necessary if the actual picture size is to be used and that size
                    // is unknown.  Another option is to calculate the width and height 
                    // in row and column coordinates in the same manner as left and top below.
                    double width;
                    double height;
                    System.Drawing.Image image = System.Drawing.Image.FromFile(imageFile);
                    using (image)
                    {
                        width = image.Width * 72.0 / image.HorizontalResolution;
                        height = image.Height * 72.0 / image.VerticalResolution;
                    }
                    
                    // Calculate the left and top placement of the picture by converting 
                    // row and column coordinates to points.  Use fractional values to 
                    // get coordinates anywhere in between row and column boundaries.
                    SpreadsheetGear.IWorksheetWindowInfo windowInfo = worksheet.WindowInfo;
                    // Convert from the center of column B to points.
                    double left = windowInfo.ColumnToPoints(1.5);
                    // Convert from the center of row 1 to points.
                    double top = windowInfo.RowToPoints(1.5);
                    
                    // Add the picture from file.
                    worksheet.Shapes.AddPicture(imageFile, left, top, width, height);
             
                    // Stream the Excel spreadsheet to the client
                    Response.Clear();
                    Response.ContentType = "application/vnd.ms-excel";
                    workbook.SaveToStream(Response.OutputStream, SpreadsheetGear.FileFormat.XLS97);
                    Response.End();
                }
                </code><code lang="VB">
            Sub Page_Load(sender As Object, e As EventArgs)
                    ' Create a new empty workbook and get the first sheet. 
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                
                    ' Get the image file name.
                    Dim imageFile As String = Server.MapPath("files/ssgear.gif")
               
                    ' Get the width and height of the picture in pixels and convert to
                    ' points for use in the call to AddPicture.  This step is only
                    ' necessary if the actual picture size is to be used and that size
                    ' is unknown.  Another option is to calculate the width and height 
                    ' in row and column coordinates in the same manner as left and top below.
                    Dim width As Double
                    Dim height As Double
                    Dim image As System.Drawing.Image = System.Drawing.Image.FromFile(imageFile)
                    Try
                        width = image.Width * 72.0 / image.HorizontalResolution
                        height = image.Height * 72.0 / image.VerticalResolution
                    Finally
                        image.Dispose()
                    End Try
                        
                    ' Calculate the left and top placement of the picture by converting 
                    ' row and column coordinates to points.  Use fractional values to 
                    ' get coordinates anywhere in between row and column boundaries.
                    Dim windowInfo As SpreadsheetGear.IWorksheetWindowInfo = worksheet.WindowInfo
                    ' Convert from the center of column B to points.
                    Dim left As Double = windowInfo.ColumnToPoints(1.5)
                    ' Convert from the center of row 2 to points.
                    Dim top As Double = windowInfo.RowToPoints(1.5)
                   
                    ' Add the picture from file.
                    worksheet.Shapes.AddPicture(imageFile, left, top, width, height)
               
                    ' Stream the Excel spreadsheet to the client
                    Response.Clear()
                    Response.ContentType = "application/vnd.ms-excel"
                    workbook.SaveToStream(Response.OutputStream, SpreadsheetGear.FileFormat.XLS97)
                    Response.End()
                End Sub 'Page_Load
                </code></example>
      <param name="filename">The filename of the picture to add.</param>
      <param name="left">Left edge of the new picture in points.</param>
      <param name="top">Top edge of the new picture in points.</param>
      <param name="width">Width of the new picture in points.</param>
      <param name="height">Height of the new picture in points.</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapes.AddPicture(System.Byte[],System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Adds the specified picture to the shapes collection at the specified position and
            with the specified size.
            </summary>
      <returns>A shape object representing the newly created picture.</returns>
      <param name="pictureData">A byte array containing the picture data; this byte array must not be changed after calling <strong>AddPicture</strong>.</param>
      <param name="left">Left edge of the new picture in points.</param>
      <param name="top">Top edge of the new picture in points.</param>
      <param name="width">Width of the new picture in points.</param>
      <param name="height">Height of the new picture in points.</param>
      <remarks>
        <para>
                    Use <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" /> and
                    <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" /> to
                    convert row and column positions to points.
                </para>
        <para>Pictures with PNG, JPEG and Enhanced Windows Metafiles magic signatures are
                stored in the workbook as is. All other images are converted to PNG before being
                stored in the workbook.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapes.AddShape(SpreadsheetGear.Shapes.AutoShapeType,System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Adds the specified auto-shape to the shapes collection at the specified position and
            with the specified size.
            </summary>
      <returns>A shape object representing the newly created auto-shape.</returns>
      <param name="type">The type of the new auto-shape.</param>
      <param name="left">Left edge of the new shape in points.</param>
      <param name="top">Top edge of the new shape in points.</param>
      <param name="width">Width of the new shape in points.</param>
      <param name="height">Height of the new shape in points.</param>
      <remarks>
        <para>
                    Use <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" /> and
                    <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" /> to
                    convert row and column positions to points.
                </para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapes.AddTextBox(System.Double,System.Double,System.Double,System.Double)">
      <summary>
            Adds a text box to the shapes collection at the specified position and
            with the specified size.
            </summary>
      <returns>A shape object representing the newly created text box.</returns>
      <param name="left">Left edge of the new text box in points.</param>
      <param name="top">Top edge of the new text box in points.</param>
      <param name="width">Width of the new text box in points.</param>
      <param name="height">Height of the new text box in points.</param>
      <remarks>
        <para>
                    Use <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" /> and
                    <see cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" /> to
                    convert row and column positions to points.
                </para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapes.GetShapeRange(SpreadsheetGear.Shapes.IShape[])">
      <summary>
            Returns a new instance of <strong>IShapeRange</strong> which represents the specified array of shapes.
            </summary>
      <param name="shapes">Specifies the array of shapes which will be represented by the <strong>IShapeRange</strong>.</param>
      <returns>A new instance of <strong>IShapeRange</strong> which represents the specified array of shapes.</returns>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapes.Item(System.Int32)">
      <summary>Gets the <strong>IShape</strong> specified by the zero based index.</summary>
      <param name="index">Specifies the zero based index of the shape to return.</param>
      <returns>The specified <strong>IShape</strong>.</returns>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapes.Item(System.String)">
      <summary>
            Gets the <strong>IShape</strong> specified by the shape name or null if the shape
            is not found.
            </summary>
      <param name="index">Specifies the shape name of the shape to return.</param>
      <returns>The specified <see cref="T:SpreadsheetGear.Shapes.IShape" /> or null if the shape is not found.</returns>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapes.Count">
      <summary>
            Gets the number of shapes in this collection.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapes.Sheet">
      <summary>
            Gets the <strong>ISheet</strong> associated with the represented shape collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.IGroupShapes">
      <summary>
            Represents a collection of shapes making up a group.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
      <seealso cref="T:SpreadsheetGear.Shapes.IShapes" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IGroupShapes.Item(System.Int32)">
      <summary>
            Gets the <see cref="T:SpreadsheetGear.Shapes.IShape" /> specified by the zero based index.
            </summary>
      <param name="index">The zero based index of the <see cref="T:SpreadsheetGear.Shapes.IShape" /> to return.</param>
      <returns>The specified <see cref="T:SpreadsheetGear.Shapes.IShape" />.</returns>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IGroupShapes.Item(System.String)">
      <summary>
            Gets the <see cref="T:SpreadsheetGear.Shapes.IShape" /> specified by the shape name or null if the shape is not found.
            </summary>
      <param name="index">The name of the <see cref="T:SpreadsheetGear.Shapes.IShape" /> to return.</param>
      <returns>The specified <see cref="T:SpreadsheetGear.Shapes.IShape" /> or null if the shape is not found.</returns>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IGroupShapes.Count">
      <summary>
            Gets the number of shapes in this group shape collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.IControlFormat">
      <summary>
            Represents control options.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IFillFormat" />
      <seealso cref="T:SpreadsheetGear.Shapes.ILineFormat" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String)">
      <summary>
            Adds the specified list item at the end of the list.
            </summary>
      <param name="text">Specifies the text of the item to add.</param>
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveItem(System.Int32,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveAllItems" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListFillRange" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.List" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListCount" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListIndex" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String,System.Int32)">
      <summary>
            Adds the specified list item at the specified zero based index.
            </summary>
      <param name="text">Specifies the text of the item to add.</param>
      <param name="index">Specifies the zero based index for the new item.</param>
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveItem(System.Int32,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveAllItems" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListFillRange" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.List" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListCount" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListIndex" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IControlFormat.RemoveAllItems">
      <summary>
            Removes all items from a list.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveItem(System.Int32,System.Int32)" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListFillRange" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.List" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListCount" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListIndex" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IControlFormat.RemoveItem(System.Int32,System.Int32)">
      <summary>
            Removes the specified number of items starting at the zero based index.
            </summary>
      <param name="index">Specifies the zero based index of the first item to remove.</param>
      <param name="count">Specifies the number of items to remove.</param>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IControlFormat.DropDownLines">
      <summary>
            Gets or sets the number of items to display when in a dropdown list box.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IControlFormat.LargeChange">
      <summary>
            Gets or sets the large change amount for a scrollbar control.
            </summary>
      <remarks>The value is truncated to an integer due to file format limitations. This may change in a future version.</remarks>
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.Min" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.Max" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.SmallChange" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IControlFormat.LinkedCell">
      <summary>
            Gets or sets a cell reference or defined name which specifies a cell to be linked
            to this control; changes to the linked cell (such as entering TRUE) will be reflected in 
            the control and changes to the control (such as checking a checkbox) will be
            reflected in the linked cell.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IControlFormat.List">
      <summary>
            Returns the list of items from the cells in <strong>ListFillRange</strong>.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListFillRange" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListCount" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListIndex" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveItem(System.Int32,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveAllItems" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IControlFormat.ListIndex">
      <summary>
            Gets or sets the zero based list index, or -1 to indicate that no list item is selected.
            </summary>
      <seealso cref="F:SpreadsheetGear.Shapes.ControlFormatValues.ListIndexNone" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListFillRange" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.List" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListCount" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveItem(System.Int32,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveAllItems" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IControlFormat.ListCount">
      <summary>
            Returns the number of items in a list.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListFillRange" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.List" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListIndex" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveItem(System.Int32,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveAllItems" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IControlFormat.ListFillRange">
      <summary>
            Gets or sets a range reference or defined name which specifies a range from which to fill a list box.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.List" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListCount" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.ListIndex" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.AddItem(System.String,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveItem(System.Int32,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IControlFormat.RemoveAllItems" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IControlFormat.Max">
      <summary>
            Gets or sets the maximum value for a scrollbar or spinner control.
            </summary>
      <remarks>The value is truncated to an integer due to file format limitations. This may change in a future version.</remarks>
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.Min" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.SmallChange" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.LargeChange" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IControlFormat.Min">
      <summary>
            Gets or sets the minimum value for a scrollbar or spinner control.
            </summary>
      <remarks>The value is truncated to an integer due to file format limitations. This may change in a future version.</remarks>
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.Max" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.SmallChange" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.LargeChange" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IControlFormat.SmallChange">
      <summary>
            Gets or sets the small change amount for a scrollbar or spinner control.
            </summary>
      <remarks>The value is truncated to an integer due to file format limitations. This may change in a future version.</remarks>
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.Min" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.Max" />
      <seealso cref="P:SpreadsheetGear.Shapes.IControlFormat.LargeChange" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IControlFormat.Value">
      <summary>
            Gets or sets the value of the represented control.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.ControlFormatValues" />
      <remarks>The value is truncated to an integer due to file format limitations. This may change in a future version.</remarks>
    </member>
    <member name="T:SpreadsheetGear.Shapes.IPictureFormat">
      <summary>
            Represents the picture format options of a picture shape.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IPictureFormat.CropLeft">
      <summary>
            Gets or sets the left cropping position in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IPictureFormat.CropTop">
      <summary>
            Gets or sets the top cropping position in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IPictureFormat.CropRight">
      <summary>
            Gets or sets the right cropping position in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IPictureFormat.CropBottom">
      <summary>
            Gets or sets the bottom cropping position in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IPictureFormat.Brightness">
      <summary>
            Gets or sets the picture brightness (0.0 to 1.0).
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IPictureFormat.Contrast">
      <summary>
            Gets or sets the picture contrast (0.0 to 1.0).
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IPictureFormat.ColorType">
      <summary>
            Gets or sets the picture color type.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IPictureFormat.TransparencyColor">
      <summary>
            Gets or sets the transparency color.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.ILineFormat">
      <summary>
            Represents the line options of a shape.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IShapes" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.ILineFormat.BackColor">
      <summary>
            Gets an instance of <strong>IColorFormat</strong> which represents the background color.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ILineFormat.DashStyle">
      <summary>
            Gets or sets the dash style of the line.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ILineFormat.ForeColor">
      <summary>
            Gets an instance of <strong>IColorFormat</strong> which represents the foreground color.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ILineFormat.Transparency">
      <summary>
            Gets or sets the level of transparency of this line as a value from 0.0 (opaque) to 1.0 (transparent).
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ILineFormat.TransparencyDefined">
      <summary>
            Returns true if the <strong>Transparency</strong> property of all shapes represented
            by this <strong>ILineFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ILineFormat.Visible">
      <summary>
            Gets or sets the property which specifies whether the represented object should have a line.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ILineFormat.VisibleDefined">
      <summary>
            Returns true if the <strong>Visible</strong> property of all shapes represented
            by this <strong>ILineFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ILineFormat.Weight">
      <summary>
            Gets or sets the weight of the line in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ILineFormat.WeightDefined">
      <summary>
            Returns true if the <strong>Weight</strong> property of all shapes represented
            by this <strong>ILineFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.IShapeRange">
      <summary>
            Represents a collection of <see>IShape</see> objects.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapeRange.BringForward">
      <summary>
            Brings the shapes in this collection forward by one position.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.BringToFront" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.SendBackward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.SendToBack" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapeRange.BringToFront">
      <summary>
            Brings the shapes in this collection to the front of all shapes.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.BringForward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.SendBackward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.SendToBack" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapeRange.Delete">
      <summary>
            Deletes the represented shapes.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapeRange.IncrementLeft(System.Double)">
      <summary>
            Increments the left edge of the represented shapes by the specified value in points.
            </summary>
      <param name="increment">Specifies the increment in points.</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapeRange.IncrementTop(System.Double)">
      <summary>
            Increments the top edge of the represented shapes by the specified value in points.
            </summary>
      <param name="increment">Specifies the increment in points.</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapeRange.ScaleHeight(System.Double,System.Boolean,SpreadsheetGear.Shapes.ScaleFrom)">
      <summary>
            Scales the represented shapes by the specified factor from the original or current size and from the specified position.
            </summary>
      <param name="factor">Specifies the factor by which to scale the original or current size.</param>
      <param name="useOriginalSize">SPecifies whether the original size of pictures should be used as the starting size.</param>
      <param name="position">Specifies whether the size should be scaled from the top-left, middle or bottom-right of the shape.</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapeRange.ScaleWidth(System.Double,System.Boolean,SpreadsheetGear.Shapes.ScaleFrom)">
      <summary>
            Scales the represented shapes by the specified factor from the original or current size and from the specified position.
            </summary>
      <param name="factor">Specifies the factor by which to scale the original or current size.</param>
      <param name="useOriginalSize">SPecifies whether the original size of pictures should be used as the starting size.</param>
      <param name="position">Specifies whether the size should be scaled from the top-left, middle or bottom-right of the shape.</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapeRange.Select(System.Boolean)">
      <summary>
            Selects the shapes in this <strong>IShapeRange</strong>, replacing any previously selected shapes if <strong>replace</strong> is <strong>true</strong>.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapeRange.SendBackward">
      <summary>
            Sends the shapes in this collection backward by one position.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.BringForward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.BringToFront" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.SendToBack" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.IShapeRange.SendToBack">
      <summary>
            Sends the shapes in this collection to the back of all shapes.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.BringForward" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.BringToFront" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.SendBackward" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.Item(System.Int32)">
      <summary>Gets the <strong>IShape</strong> specified by the zero based index.</summary>
      <returns>The specified <see cref="T:SpreadsheetGear.Shapes.IShape" />.</returns>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.AutoShapeType">
      <summary>
            Gets or sets the <stron>AutoShapeType</stron> of the represented shapes.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.AutoShapeTypeDefined">
      <summary>
            Returns true if the <strong>AutoShapeType</strong> property of all shapes represented
            by this <strong>IShapeRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.Count">
      <summary>
            Gets the number of shapes in this collection.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.Fill">
      <summary>
            Gets an instance of <strong>IFillFormat</strong> which represents the fill options of this shape collection.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.Height">
      <summary>
            Gets or sets the height of the represented shapes in points.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.HeightDefined" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Top" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Left" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Width" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.Height" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.HeightDefined">
      <summary>
            Returns true if the <strong>Height</strong> property of all shapes represented
            by this <strong>IShapeRange</strong> is the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Height" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.Left">
      <summary>
            Gets or sets the left edge of the represented shapes (from the left edge of the sheet) in points.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.LeftDefined" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Top" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Width" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Height" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.Left" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.LeftDefined">
      <summary>
            Returns true if the <strong>Left</strong> property of all shapes represented
            by this <strong>IShapeRange</strong> is the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Left" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.Line">
      <summary>
            Gets an instance of <strong>ILineFormat</strong> which represents the line options of this shape collection.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.LockAspectRatio">
      <summary>
            Gets or sets the flag which indicates whether the aspect ratio of represented shapes should be maintained when
            the shapes are resized.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.LockAspectRatio" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.LockAspectRatioDefined">
      <summary>
            Returns true if the <strong>LockAspectRatio</strong> property of all shapes represented
            by this <strong>IShapeRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.Locked">
      <summary>
            Gets or sets the flag which indicates whether the represented shapes can be modified when worksheet protection is enabled.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.Locked" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.LockedDefined">
      <summary>
            Returns true if the <strong>Locked</strong> property of all shapes represented
            by this <strong>IShapeRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.Placement">
      <summary>
            Gets or sets the <see>Placement</see> setting of the represented shapes, which specifies how changes to the worksheet will affect the placement of the shapes.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.Placement" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.Placement" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.PlacementDefined">
      <summary>
            Returns true if the <strong>Placement</strong> property of all shapes represented
            by this <strong>IShapeRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.PrintObject">
      <summary>
            Gets or sets the property which specifies whether the represented shapes should be printed.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.PrintObjectDefined">
      <summary>
            Returns true if the <strong>PrintObject</strong> property of all shapes represented
            by this <strong>IShapeRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.Sheet">
      <summary>
            Gets the <strong>ISheet</strong> associated with the represented shapes.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.TextFrame">
      <summary>
            Gets an instance of <strong>ITextFrame</strong> which represents the text options
            of the shapes represented by this <strong>IShapeRange</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.Top">
      <summary>
            Gets or sets the top edge of the represented shapes (from the top edge of the sheet) in points.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.TopDefined" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Left" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Width" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Height" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.Top" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.TopDefined">
      <summary>
            Returns true if the <strong>Top</strong> property of all shapes represented
            by this <strong>IShapeRange</strong> is the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Top" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.Width">
      <summary>
            Gets or sets the width of the represented shapes in points.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.WidthDefined" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Top" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Left" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Height" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.Width" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IShapeRange.WidthDefined">
      <summary>
            Returns true if the <strong>Width</strong> property of all shapes represented
            by this <strong>IShapeRange</strong> is the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Width" />
    </member>
    <member name="T:SpreadsheetGear.IComment">
      <summary>
            Represents a cell comment.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IComment.Author">
      <summary>
            Gets or sets the name of the user who created this comment.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IComment.Shape">
      <summary>
            Returns the <strong>IShape</strong> associated with this comment.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IComment.Visible">
      <summary>
            Gets or sets the property which indicates whether a comment should always be visible.
            </summary>
      <remarks>When this property is false, comments are only shown when the mouse hovers over the cell containing the comment.</remarks>
    </member>
    <member name="T:SpreadsheetGear.IWorkbook">
      <summary>
            Represents a workbook.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Save to C:\MyData.xls.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97);
                    // Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
                    // Save to C:\MyData.xls again.
                    workbook.Save();
                    // Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls");
                    // Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets["Sheet1"].Cells["A1"].Value.ToString());
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Save to C:\MyData.xls as an Excel file.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97)
                    ' Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
                    ' Save to C:\MyData.xls again.
                    workbook.Save()
                    ' Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls")
                    ' Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets("Sheet1").Cells("A1").Value.ToString())
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.Close">
      <summary>
            Closes this workbook and releases associated resources.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
                    // Save to memory as an Excel file.
                    byte[] buffer = workbook.SaveToMemory(SpreadsheetGear.FileFormat.XLS97);
                    // Close the workbook, removing it from the workbook set.
                    workbook.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.OpenFromMemory(buffer);
                    // Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets["Sheet1"].Cells["A1"].Value.ToString());
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
                    ' Save to memory as an Excel file.
                    Dim buffer As Byte() = workbook.SaveToMemory(SpreadsheetGear.FileFormat.XLS97)
                    ' Close the workbook, removing it from the workbook set.
                    workbook.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.OpenFromMemory(buffer)
                    ' Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets("Sheet1").Cells("A1").Value.ToString())
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.DateTimeToNumber(System.DateTime)">
      <summary>
            Converts the specified <strong>System.DateTime</strong> to a date-time serial number appropriate for storage in a worksheet cell.
            </summary>
      <param name="dateTime">The <strong>System.DateTime</strong> instance to convert.</param>
      <returns>A date-time serial number appropriate for storage in a worksheet cell.</returns>
      <remarks>
            Dates and times are stored in worksheet cells as a date-time serial number.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.NumberToDateTime(System.Double)" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.Date1904" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.GetDataSet(SpreadsheetGear.Data.GetDataFlags)">
      <summary>
            Returns a newly created data set consisting of a data table
            for the used range of each worksheet in the workbook.
            </summary>
      <returns>the newly created data set.</returns>
      <example>
            See examples
            <a href="http://www.spreadsheetgear.com/support/samples/datagrid.aspx">here</a>.
            </example>
      <param name="flags">Specifies optional features such as column headers and formatted text values.</param>
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.GetDataSet(System.String,SpreadsheetGear.Data.GetDataFlags)">
      <summary>
            Returns a newly created data set consisting of a data table
            for each of the ranges specified by <strong>reference</strong>.
            </summary>
      <returns>the newly created data set.</returns>
      <remarks>
        <para>Each reference must consist of a defined name or a range reference such
                as:</para>
        <list type="bullet">
          <item>"A1:E15" - specifies the range A1:E15 in the first worksheet.</item>
          <item>"Sheet3!B2:D5" - specifies the range B2:D5 in Sheet3.</item>
          <item>"MyDatabase" - specifies the worksheet and range referred to by the
                    defined name "MyDatabase".</item>
          <item>"A1:E15,Sheet3!B2:D5,MyDatabase" - specifies all of the above as three
                    data tables in the data set.</item>
        </list>
      </remarks>
      <param name="reference">a comma separated list of ranges.</param>
      <param name="flags">Specifies optional features such as column headers and formatted text values.</param>
      <example>
            See examples
            <a href="http://www.spreadsheetgear.com/support/samples/datagrid.aspx">here</a>.
            </example>
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)">
      <summary>
            Enables protection for this workbook with the specified password and protection options.
            </summary>
      <param name="password">The password which will be required to unprotect the workbook.</param>
      <param name="protectStructure">Specifies whether the structure (number and order of worksheets) of this workbook may be changed.</param>
      <param name="protectWindows">Specifies whether the windows of this workbook are protected from changes.</param>
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectStructure" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectWindows" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.ProtectContents" />
      <seealso cref="M:SpreadsheetGear.IWorksheet.Protect(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorksheet.Unprotect(System.String)" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.NumberToDateTime(System.Double)">
      <summary>
            Converts the specified date-time serial number to an instance of <strong>System.DateTime</strong>.
            </summary>
      <param name="number">The date-time serial number to convert.</param>
      <returns>An instance of <strong>System.DateTime</strong> initialized with the converted date-time serial number.</returns>
      <remarks>
            Dates and times are stored in worksheet cells as a date-time serial number.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.DateTimeToNumber(System.DateTime)" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.Date1904" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.Save">
      <summary>
            Saves this workbook using the current <strong>FullName</strong>.
            </summary>
      <remarks>
            The various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.
            </remarks>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Save to C:\MyData.xls.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97);
                    // Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
                    // Save to C:\MyData.xls again.
                    workbook.Save();
                    // Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls");
                    // Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets["Sheet1"].Cells["A1"].Value.ToString());
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Save to C:\MyData.xls as an Excel file.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97)
                    ' Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
                    ' Save to C:\MyData.xls again.
                    workbook.Save()
                    ' Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls")
                    ' Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets("Sheet1").Cells("A1").Value.ToString())
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)">
      <summary>
            Saves this workbook using the specified filename and <strong>FileFormat</strong>,
            and updates the <strong>FullName</strong> property.
            </summary>
      <remarks>
            Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.
            </remarks>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook in a new workbook set.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
                    // Save to C:\MyData.xls as Excel file.
                    workbook.SaveAs(@"C:\MyData.xls", SpreadsheetGear.FileFormat.XLS97);
                    // Open C:\MyData.xls.
                    workbook = SpreadsheetGear.Factory.GetWorkbook(@"C:\MyData.xls");
                    // Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets["Sheet1"].Cells["A1"].Value.ToString());
                }
            }
                </code>
        <code lang="VB">
            Module Program
                Sub Main()
                    ' Create a new empty workbook in a new workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    ' Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
                    ' Save to C:\MyData.xls as Excel file.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97)
                    ' Open C:\MyData.xls.
                    workbook = SpreadsheetGear.Factory.GetWorkbook("C:\\MyData.xls")
                    ' Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets("Sheet1").Cells("A1").Value.ToString())
                End Sub
            End Module
                </code>
      </example>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat,System.String)">
      <summary>
            Saves this workbook using the specified filename and <strong>FileFormat</strong>,
            and updates the <strong>FullName</strong> property.
            </summary>
      <remarks>
            Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[],System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)">
      <summary>
            Saves this workbook to a newly created memory buffer in the specified <strong>FileFormat</strong>.
            </summary>
      <returns>The memory buffer with the saved workbook.</returns>
      <remarks>
            Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.
            </remarks>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
                    // Save to memory as an Excel file.
                    byte[] buffer = workbook.SaveToMemory(SpreadsheetGear.FileFormat.XLS97);
                    // Close the workbook, removing it from the workbook set.
                    workbook.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.OpenFromMemory(buffer);
                    // Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets["Sheet1"].Cells["A1"].Value.ToString());
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
                    ' Save to memory as an Excel file.
                    Dim buffer As Byte() = workbook.SaveToMemory(SpreadsheetGear.FileFormat.XLS97)
                    ' Close the workbook, removing it from the workbook set.
                    workbook.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.OpenFromMemory(buffer)
                    ' Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets("Sheet1").Cells("A1").Value.ToString())
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat,System.String)">
      <summary>
            Saves this workbook to a newly created memory buffer in the specified <strong>FileFormat</strong>.
            </summary>
      <returns>The memory buffer with the saved workbook.</returns>
      <remarks>
            Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[],System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)">
      <summary>
            Saves this workbook to a stream in the specified <strong>FileFormat</strong>.
            </summary>
      <param name="stream">The stream to write the workbook to.</param>
      <param name="fileFormat">The file format to save the workbook in.</param>
      <remarks>
        <para>Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
      <example>
        <code lang="CS"><![CDATA[
            class Program
            {
                static void Main(string[] args)
                {
                    // Create a simple workbook.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
             
                    // Save the workbook to a memory stream.
                    System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
                    workbook.SaveToStream(memoryStream, SpreadsheetGear.FileFormat.OpenXMLWorkbook);
             
                    // Close the workbook.
                    workbook.Close();
             
                    // Create another workbook from the memory stream.
                    workbook = SpreadsheetGear.Factory.GetWorkbookSet().Workbooks.OpenFromStream(memoryStream);
                    Console.WriteLine("Sheet1!A1='{0}'", workbook.Worksheets["Sheet1"].Cells["A1"].Value);
                }
            }]]></code>
        <code lang="VB"><![CDATA[
            Module Program
                Sub Main()
                    ' Create a simple workbook. 
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
             
                    ' Save the workbook to a memory stream. 
                    Dim memoryStream As New System.IO.MemoryStream()
                    workbook.SaveToStream(memoryStream, SpreadsheetGear.FileFormat.OpenXMLWorkbook)
             
                    ' Close the workbook. 
                    workbook.Close()
             
                    ' Create another workbook from the memory stream. 
                    workbook = SpreadsheetGear.Factory.GetWorkbookSet().Workbooks.OpenFromStream(memoryStream)
                    Console.WriteLine("Sheet1!A1='{0}'", workbook.Worksheets("Sheet1").Cells("A1").Value)
                End Sub
            End Module]]></code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat,System.String)">
      <summary>
            Saves this workbook to a stream in the specified <strong>FileFormat</strong>.
            </summary>
      <param name="stream">The stream to write the workbook to.</param>
      <param name="fileFormat">The file format to save the workbook in.</param>
      <param name="password">The password to open the workbook with.</param>
      <remarks>
        <para>Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[],System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.SaveToStream(SpreadsheetGear.FileFormat)">
      <summary>
            Saves this workbook to a newly created stream in the specified <strong>FileFormat</strong>.
            </summary>
      <param name="fileFormat">The file format to save the workbook in.</param>
      <remarks>
        <para>The newly created stream is an internal SpreadsheetGear memory based stream which is more efficient than System.IO.MemoryStream.</para>
        <para>Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)">
      <summary>
            Disables protection for the workbook with the specified password.
            </summary>
      <param name="password">The password which was used to protect the workbook (ignored if the workbook was protected without a password).</param>
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectStructure" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectWindows" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.ProtectContents" />
      <seealso cref="M:SpreadsheetGear.IWorksheet.Protect(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorksheet.Unprotect(System.String)" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.ActiveSheet">
      <summary>
            Returns the active sheet.
            </summary>
      <remarks>
            Use <strong>ActiveWorksheet</strong> if you know the sheet will be a worksheet.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.ActiveWorksheet">
      <summary>
            Returns the active worksheet of the workbook, or null if the active sheet is not a worksheet.
            </summary>
      <remarks>
            Use <strong>ActiveSheet</strong> if you do not know that the sheet will be a worksheet.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.Colors">
      <summary>
            Returns an instance of <strong>IColors</strong> which represents
            the color palette associated with a workbook.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.Date1904">
      <summary>
            Returns true if dates are represented as the number of days since 1/1/1904, false if dates 
            are represented as the number of days since 12/31/1899.
            </summary>
      <remarks>The default value is false. Note that, for historical reasons, 
            1900 is incorrectly considered to be a leap year.</remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.DisplayDrawingObjects">
      <summary>
            Gets or sets the option which specifies how drawing objects are to
            be displayed.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.FileFormat">
      <summary>
            Returns the file format which the workbook was last opened from or saved to.  If the
            workbook has never been saved, the default file format is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.FullName">
      <summary>
            Gets or sets the full name (including the path) of the workbook.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.Name" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.IsModified">
      <summary>
            Gets or sets the property which specifies whether the workbook has
            been modified since it was created, opened or saved.
            </summary>
      <remarks>
        <para>
                    When a workbook is modified this property will be set to <strong>true</strong>.
                    Calling <see cref="M:SpreadsheetGear.IWorkbook.Save" />, <see cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)" /> or
                    <see cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)" /> resets this property back to
                    <strong>false</strong>.
                </para>
        <para>The default behavior of this property can be overridden by setting or resetting it at any
                time.</para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.Name">
      <summary>
            Returns the name (excluding the path) of the workbook.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.FullName" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.Names">
      <summary>
            Returns the collection of defined names in this workbook.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.PrecisionAsDisplayed">
      <summary>
            Gets or sets the property which determines whether numbers will
            be rounded to the precision of the number format.
            </summary>
      <remarks>
            When <strong>PrecisionAsDisplayed</strong> is changed from false to true,
            all numbers in the workbook are rounded according to their number format.
            Setting <strong>PrecisionAsDisplayed</strong> back to false does not bring
            back the original values of these numbers.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.ProtectStructure">
      <summary>
            Gets or sets the property which determines whether the structure
            (number and order of worksheets) of a workbook may be changed.
            </summary>
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectWindows" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.ProtectContents" />
      <seealso cref="M:SpreadsheetGear.IWorksheet.Protect(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorksheet.Unprotect(System.String)" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.ProtectWindows">
      <summary>
            Gets or sets the property which determines whether the windows of
            a workbook are protected from changes.
            </summary>
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectStructure" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.ProtectContents" />
      <seealso cref="M:SpreadsheetGear.IWorksheet.Protect(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorksheet.Unprotect(System.String)" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.ReadOnlyRecommended">
      <summary>
            Gets or sets the property which determines whether read-only mode will
            be recommended to the user when the workbook is opened.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.SaveLinkValues">
      <summary>
            Gets or sets the property which determines whether externally referenced values 
            will be saved with the workbook, enabling cells which refer to those values
            to be calculated without returning a #REF! error.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.Sheets">
      <summary>
            Returns an instance of <strong>ISheets</strong> which provides access to all sheets in this workbook.
            </summary>
      <remarks>
            For easier access to just the <strong>IWorksheet</strong>'s in a workbook, use
            <strong>IWorkbook.Worksheets</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbook.Worksheets">Worksheets Property</seealso>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.Styles">
      <summary>
            Returns an instance of <strong>IStyles</strong> which provides access to the named cell styles associated with this workbook.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.Style" />
      <seealso cref="T:SpreadsheetGear.IStyles" />
      <seealso cref="T:SpreadsheetGear.IStyle" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.Theme">
      <summary>
            Returns an instance of <strong>ITheme</strong> which provides access to the theme associated with a workbook.
            </summary>
      <seealso cref="T:SpreadsheetGear.Themes.ITheme" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.UpdateLinks">
      <summary>
            Gets or sets the property which determines whether externally referenced values 
            will be updated when a workbook is loaded by Excel. SpreadsheetGear supports reading,
            writing and modifying this value, but does not support automatically updating links
            unless the workbook is loaded into the same workbook set.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.WorkbookSet">
      <summary>
            Returns the parent <strong>IWorkbookSet</strong> of this workbook.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.WindowInfo">
      <summary>
            Returns an instance of <see cref="T:SpreadsheetGear.IWorkbookWindowInfo" /> which represents
            workbook specific window options.
            </summary>
      <seealso cref="T:SpreadsheetGear.IWorkbookWindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.Worksheets">
      <summary>
            Returns an instance of <strong>IWorksheets</strong> which provides access to the worksheets in this workbook.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.WriteReserved">
      <summary>
            Returns true if the workbook was saved with this option.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorkbook.WriteReservedBy">
      <summary>
            Returns the name of the user who saved the workbook with the write
            reserved option.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IWorkbookWindowInfo">
      <summary>
            Represents workbook specific window information.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.WindowInfo" />
      <seealso cref="T:SpreadsheetGear.IWorksheetWindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookWindowInfo.ActiveSheet">
      <summary>
            Gets or sets the active sheet.
            </summary>
      <remarks>
            Use <strong>ActiveWorksheet</strong> if you know the sheet will be a worksheet.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbook.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookWindowInfo.ActiveWorksheet">
      <summary>
            Gets or sets the active worksheet of the workbook, or null if the active sheet is not a worksheet.
            </summary>
      <remarks>
            Use <strong>ActiveSheet</strong> if you do no know that the sheet will be a worksheet.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbook.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookWindowInfo.DisplayHorizontalScrollBar">
      <summary>
            Gets or sets the property which specifies whether the horizontal scroll bar is displayed for the workbook.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookWindowInfo.DisplayVerticalScrollBar">
      <summary>
            Gets or sets the property which specifies whether the vertical scroll bar is displayed for the workbook.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookWindowInfo.DisplayWorkbookTabs">
      <summary>
            Gets or sets the property which specifies whether workbook tabs are displayed for the workbook.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookWindowInfo.TabRatio">
      <summary>
            Gets or sets the ratio of the width of the worksheet tabs to the width of the horizontal scrollbar as a number between zero and one.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookWindowInfo.Workbook">
      <summary>
            Returns the workbook associated with this <strong>IWorkbookWindowInfo</strong>.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.WindowInfo" />
    </member>
    <member name="T:SpreadsheetGear.IColors">
      <summary>Represents the color palette of a workbook.</summary>
      <remarks>
        <para>Text and object colors are stored internally as indexes into a palette. Every
                workbook is created with a default color palette. Use the <strong>IColors</strong>
                interface to query the color palette or to modify it.</para>
        <para>Most objects provide the option of specifying a color as an index into this
                color palette or as an instance of <strong>SpreadsheetGear.Color</strong>, in which
                case the actual color to be used will be the color in the palette which is closest
                to the specified <strong>SpreadsheetGear.Color</strong>.</para>
        <para>Workbooks with a custom color palette are saved with the custom
                palette.</para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IColors.Item(System.Int32)">
      <summary>
            Gets or sets the color at the specified zero based index.
            </summary>
      <param name="index">The zero based index of the color to get or set.</param>
            #
        </member>
    <member name="P:SpreadsheetGear.IColors.Count">
      <summary>Returns the number of colors in the color palette.</summary>
    </member>
    <member name="T:SpreadsheetGear.ISheets">
      <summary>Represents all of the sheets in a workbook, including worksheets, chart sheets, dialog sheets, macro sheets and VBA modules.</summary>
    </member>
    <member name="M:SpreadsheetGear.ISheets.Contains(SpreadsheetGear.ISheet)">
      <summary>
            Returns <strong>true</strong> if the specified <strong>ISheet</strong> is contained by the collection of sheets,
            otherwise <strong>false</strong> is returned.
            </summary>
      <param name="sheet">Specifies the sheet to check.</param>
      <returns>
        <strong>true</strong> if the specified <strong>ISheet</strong> is contained by the collection of sheets,
            otherwise <strong>false</strong> is returned.</returns>
    </member>
    <member name="P:SpreadsheetGear.ISheets.Item(System.Int32)">
      <summary>
            Returns the sheet at the specified zero based index.
            </summary>
      <value>
            The returned sheet will be an instance of <strong>IWorksheet</strong>,
            <strong>IChart</strong>, <strong>IModule</strong> or
            <strong>IDialogSheet</strong>.
            </value>
      <param name="index">Specifies the zero based index of the sheet to return.</param>
    </member>
    <member name="P:SpreadsheetGear.ISheets.Item(System.String)">
      <summary>
            Returns the sheet with the specified name.
            </summary>
      <value>
            The returned sheet will be an instance of <strong>IWorksheet</strong>,
            <strong>IChart</strong>, <strong>IModule</strong> or
            <strong>IDialogSheet</strong>.
            </value>
      <param name="name">Specifies the name of the sheet to return.</param>
    </member>
    <member name="P:SpreadsheetGear.ISheets.WorkbookSet">
      <summary>Returns the parent <strong>IWorkbookSet</strong> of this border.</summary>
    </member>
    <member name="P:SpreadsheetGear.ISheets.Count">
      <summary>
            Returns the number of sheets in a workbook.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IWorksheets">
      <summary>
            Represents a collection of worksheets in a workbook.
            </summary>
      <remarks>
            Only normal worksheets are included in this collection. Chart sheets, dialog sheets, Visual Basic modules and
            Excel 4 Macro Sheets are excluded.
            </remarks>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Add a second worksheet.
                    workbook.Worksheets.Add();
                    // Rename worksheet "Sheet1" to "Hello"
                    workbook.Worksheets["Sheet1"].Name = "Hello";
                    // Rename worksheet "Sheet2" to "World"
                    workbook.Worksheets["Sheet2"].Name = "World";
                    // Save to C:\MyData.xls.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97);
                    // Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls");
                    // Output the sheet names separated by a space ("Hello World").
                    System.Console.WriteLine(workbook.Worksheets[0].Name + " " + workbook.Worksheets[1].Name);
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Add a second worksheet.
                    workbook.Worksheets.Add()
                    ' Rename worksheet "Sheet1" to "Hello"
                    workbook.Worksheets("Sheet1").Name = "Hello"
                    ' Rename worksheet "Sheet2" to "World"
                    workbook.Worksheets("Sheet2").Name = "World"
                    ' Save to C:\MyData.xls.
                    workbook.SaveAs("C:\MyData.xls", SpreadsheetGear.FileFormat.XLS97)
                    ' Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\MyData.xls")
                    ' Output the sheet names separated by a space ("Hello World").
                    System.Console.WriteLine((workbook.Worksheets(0).Name + " " + workbook.Worksheets(1).Name))
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IWorksheets.Add">
      <summary>
            Returns a newly created worksheet which is added to the end of the worksheet collection.
            </summary>
      <returns>The newly created worksheet.</returns>
      <remarks>The new worksheet is created as the last worksheet in the workbook.</remarks>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Add a second worksheet.
                    workbook.Worksheets.Add();
                    // Rename worksheet "Sheet1" to "Hello"
                    workbook.Worksheets["Sheet1"].Name = "Hello";
                    // Rename worksheet "Sheet2" to "World"
                    workbook.Worksheets["Sheet2"].Name = "World";
                    // Save to C:\MyData.xls.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97);
                    // Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls");
                    // Output the sheet names separated by a space ("Hello World").
                    System.Console.WriteLine(workbook.Worksheets[0].Name + " " + workbook.Worksheets[1].Name);
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Add a second worksheet.
                    workbook.Worksheets.Add()
                    ' Rename worksheet "Sheet1" to "Hello"
                    workbook.Worksheets("Sheet1").Name = "Hello"
                    ' Rename worksheet "Sheet2" to "World"
                    workbook.Worksheets("Sheet2").Name = "World"
                    ' Save to C:\MyData.xls.
                    workbook.SaveAs("C:\MyData.xls", SpreadsheetGear.FileFormat.XLS97)
                    ' Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\MyData.xls")
                    ' Output the sheet names separated by a space ("Hello World").
                    System.Console.WriteLine((workbook.Worksheets(0).Name + " " + workbook.Worksheets(1).Name))
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <seealso cref="M:SpreadsheetGear.ISheet.CopyAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.CopyBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.Delete" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddBefore(SpreadsheetGear.ISheet)" />
    </member>
    <member name="M:SpreadsheetGear.IWorksheets.AddAfter(SpreadsheetGear.ISheet)">
      <summary>
            Creates a new worksheet and inserts it after the specified sheet.
            </summary>
      <param name="sheet">The sheet to insert the newly created worksheet after.</param>
      <returns>The newly created worksheet.</returns>
      <seealso cref="M:SpreadsheetGear.ISheet.CopyAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.CopyBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.Delete" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.Add" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddBefore(SpreadsheetGear.ISheet)" />
    </member>
    <member name="M:SpreadsheetGear.IWorksheets.AddBefore(SpreadsheetGear.ISheet)">
      <summary>
            Creates a new worksheet and inserts it before the specified sheet.
            </summary>
      <param name="sheet">The sheet to insert the newly created worksheet before.</param>
      <returns>The newly created worksheet.</returns>
      <seealso cref="M:SpreadsheetGear.ISheet.CopyAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.CopyBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.Delete" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.Add" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddAfter(SpreadsheetGear.ISheet)" />
    </member>
    <member name="M:SpreadsheetGear.IWorksheets.Contains(SpreadsheetGear.IWorksheet)">
      <summary>
            Returns <strong>true</strong> if the specified <strong>IWorksheet</strong> is contained by the collection of worksheets,
            otherwise <strong>false</strong> is returned.
            </summary>
      <param name="worksheet">Specifies the worksheet to check.</param>
      <returns>
        <strong>true</strong> if the specified <strong>IWorksheet</strong> is contained by the collection of worksheets,
            otherwise <strong>false</strong> is returned.</returns>
    </member>
    <member name="P:SpreadsheetGear.IWorksheets.Item(System.Int32)">
      <summary>
            Returns the worksheet specified by the zero based index, or null for a chart sheet.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Add a second worksheet.
                    workbook.Worksheets.Add();
                    // Rename worksheet "Sheet1" to "Hello"
                    workbook.Worksheets["Sheet1"].Name = "Hello";
                    // Rename worksheet "Sheet2" to "World"
                    workbook.Worksheets["Sheet2"].Name = "World";
                    // Save to C:\MyData.xls.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97);
                    // Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls");
                    // Output the sheet names separated by a space ("Hello World").
                    System.Console.WriteLine(workbook.Worksheets[0].Name + " " + workbook.Worksheets[1].Name);
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Add a second worksheet.
                    workbook.Worksheets.Add()
                    ' Rename worksheet "Sheet1" to "Hello"
                    workbook.Worksheets("Sheet1").Name = "Hello"
                    ' Rename worksheet "Sheet2" to "World"
                    workbook.Worksheets("Sheet2").Name = "World"
                    ' Save to C:\MyData.xls.
                    workbook.SaveAs("C:\MyData.xls", SpreadsheetGear.FileFormat.XLS97)
                    ' Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\MyData.xls")
                    ' Output the sheet names separated by a space ("Hello World").
                    System.Console.WriteLine((workbook.Worksheets(0).Name + " " + workbook.Worksheets(1).Name))
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <param name="index">The zero based index of the worksheet to return.</param>
    </member>
    <member name="P:SpreadsheetGear.IWorksheets.Item(System.String)">
      <summary>
            Returns the specified worksheet.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Add a second worksheet.
                    workbook.Worksheets.Add();
                    // Rename worksheet "Sheet1" to "Hello"
                    workbook.Worksheets["Sheet1"].Name = "Hello";
                    // Rename worksheet "Sheet2" to "World"
                    workbook.Worksheets["Sheet2"].Name = "World";
                    // Save to C:\MyData.xls.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97);
                    // Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls");
                    // Output the sheet names separated by a space ("Hello World").
                    System.Console.WriteLine(workbook.Worksheets[0].Name + " " + workbook.Worksheets[1].Name);
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Add a second worksheet.
                    workbook.Worksheets.Add()
                    ' Rename worksheet "Sheet1" to "Hello"
                    workbook.Worksheets("Sheet1").Name = "Hello"
                    ' Rename worksheet "Sheet2" to "World"
                    workbook.Worksheets("Sheet2").Name = "World"
                    ' Save to C:\MyData.xls.
                    workbook.SaveAs("C:\MyData.xls", SpreadsheetGear.FileFormat.XLS97)
                    ' Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\MyData.xls")
                    ' Output the sheet names separated by a space ("Hello World").
                    System.Console.WriteLine((workbook.Worksheets(0).Name + " " + workbook.Worksheets(1).Name))
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <param name="name">The name of the worksheet to return.</param>
    </member>
    <member name="P:SpreadsheetGear.IWorksheets.Count">
      <summary>
            Returns the number of worksheets in the workbook.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheets.WorkbookSet">
      <summary>
            Returns the parent workbook set of this <strong>IWorksheets</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IWorksheet">
      <summary>
            Represents a worksheet.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook in a new workbook set.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Get a reference to the first worksheet.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    // Get a reference to the top left cell of Sheet1.
                    SpreadsheetGear.IRange a1 = worksheet.Cells["A1"];
                    // Set a formula.
                    a1.Formula = "=24901.55 / PI()";
                    // Output the result of the formula.
                    System.Console.WriteLine("The diameter of the earth is " + a1.Value + " miles.");
                }
            }
                </code>
        <code lang="VB">
            Class Program
               Shared Sub Main()
                  ' Create a new empty workbook in a new workbook set.
                  Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                  ' Get a reference to the first worksheet.
                  Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                  ' Get a reference to the top left cell of Sheet1.
                  Dim a1 As SpreadsheetGear.IRange = worksheet.Cells("A1")
                  ' Set a formula.
                  a1.Formula = "=24901.55 / PI()"
                  ' Output the result of the formula.
                  System.Console.WriteLine(("The diameter of the earth is " + a1.Value + " miles."))
               End Sub 'Main
            End Class 'Program
                </code>
      </example>
    </member>
    <member name="T:SpreadsheetGear.ISheet">
      <summary>The base interface of all sheets in a workbook, including worksheets, chart sheets, dialog sheets, macro sheets and VBA modules.</summary>
    </member>
    <member name="M:SpreadsheetGear.ISheet.CopyAfter(SpreadsheetGear.ISheet)">
      <summary>
            Creates a new sheet after the specified sheet and copies the contents
            of this sheet to the newly created sheet.
            </summary>
      <param name="sheet">The sheet to place the newly created sheet after.</param>
      <returns>The newly created sheet.</returns>
      <remarks>
            The newly created sheet will be of the same type as this sheet.
            </remarks>
      <seealso cref="M:SpreadsheetGear.ISheet.CopyBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.Delete" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.Add" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddBefore(SpreadsheetGear.ISheet)" />
    </member>
    <member name="M:SpreadsheetGear.ISheet.CopyBefore(SpreadsheetGear.ISheet)">
      <summary>
            Creates a new sheet before the specified sheet and copies the contents
            of this sheet to the newly created sheet.
            </summary>
      <param name="sheet">The sheet to place the newly created sheet before.</param>
      <returns>The newly created sheet.</returns>
      <remarks>
            The newly created sheet will be of the same type as this sheet.
            </remarks>
      <seealso cref="M:SpreadsheetGear.ISheet.CopyAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.Delete" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.Add" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddBefore(SpreadsheetGear.ISheet)" />
    </member>
    <member name="M:SpreadsheetGear.ISheet.Delete">
      <summary>
            Deletes this sheet.
            </summary>
      <remarks>
            Any formulas which refer to this sheet will return the #REF!
            error after this sheet is deleted.
            </remarks>
      <seealso cref="M:SpreadsheetGear.ISheet.CopyAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.CopyBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.Add" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddBefore(SpreadsheetGear.ISheet)" />
    </member>
    <member name="M:SpreadsheetGear.ISheet.EvaluateRange(System.String)">
      <summary>
            Evaluates the specified formula and returns the resulting <see cref="T:SpreadsheetGear.IRange" />.
            </summary>
      <param name="formula">The formula to evaluate.</param>
      <returns>
            The result of evaluating the formula as an <see cref="T:SpreadsheetGear.IRange" />.
            </returns>
      <remarks>
            null will be returned if the formula is invalid or does not evaluate to an <see cref="T:SpreadsheetGear.IRange" />.
            </remarks>
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateRanges(System.String)" />
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateValue(System.String)" />
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateValues(System.String)" />
    </member>
    <member name="M:SpreadsheetGear.ISheet.EvaluateRanges(System.String)">
      <summary>
            Evaluates the specified formula and returns the resulting array of ranges.
            </summary>
      <param name="formula">The formula to evaluate.</param>
      <returns>
            The result of evaluating the formula as an array of ranges.
            </returns>
      <remarks>
        <para>Multiple instances of IRange may be returned by providing a formula with comma separated (or the appropriate argument separator for the workbook set's locale) expressions.</para>
        <para>null will be returned if the formula is invalid or does not evaluate to one or more ranges.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateRange(System.String)" />
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateValue(System.String)" />
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateValues(System.String)" />
    </member>
    <member name="M:SpreadsheetGear.ISheet.EvaluateValue(System.String)">
      <summary>
            Evaluates the specified formula and returns the result as a <strong>System.Double</strong>, <strong>System.String</strong>,
            <strong>System.Boolean</strong> or <see cref="T:SpreadsheetGear.ValueError" />.
            </summary>
      <param name="formula">The formula to evaluate.</param>
      <returns>
            The result of evaluating the formula as a <strong>System.Double</strong>, <strong>System.String</strong>,
            <strong>System.Boolean</strong> or <see cref="T:SpreadsheetGear.ValueError" />.
            </returns>
      <remarks>
        <para>null will be returned if the formula is invalid.</para>
        <para>If the formula results in a range or an array, the top-left value of the range
            or array will be returned.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateRange(System.String)" />
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateRanges(System.String)" />
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateValues(System.String)" />
    </member>
    <member name="M:SpreadsheetGear.ISheet.EvaluateValues(System.String)">
      <summary>
            Evaluates the specified formula and returns the result as an array of objects, where each object is
            a <strong>System.Double</strong>, <strong>System.String</strong>,
            <strong>System.Boolean</strong> or <see cref="T:SpreadsheetGear.ValueError" />.
            </summary>
      <param name="formula">The formula to evaluate.</param>
      <returns>
            The result of evaluating the formula as an array of objects, where each object is 
            a <strong>System.Double</strong>, <strong>System.String</strong>,
            <strong>System.Boolean</strong> or <see cref="T:SpreadsheetGear.ValueError" />.
            </returns>
      <remarks>
        <para>Multiple values may be returned by providing a formula with comma separated (or the appropriate argument separator for the workbook set's locale) expressions.</para>
        <para>null will be returned if the formula is invalid.</para>
        <para>If an expression results in a range or an array, the top-left value of the range
            or array will be returned for that expression.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateRange(System.String)" />
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateRanges(System.String)" />
      <seealso cref="M:SpreadsheetGear.ISheet.EvaluateValue(System.String)" />
    </member>
    <member name="M:SpreadsheetGear.ISheet.MoveAfter(SpreadsheetGear.ISheet)">
      <summary>
            Moves this sheet to come after the specified sheet.
            </summary>
      <param name="sheet">The sheet to place this sheet after.</param>
      <returns>The moved sheet.</returns>
      <seealso cref="M:SpreadsheetGear.ISheet.CopyAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.CopyBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.Delete" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.Add" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddBefore(SpreadsheetGear.ISheet)" />
    </member>
    <member name="M:SpreadsheetGear.ISheet.MoveBefore(SpreadsheetGear.ISheet)">
      <summary>
            Moves this sheet to come before the specified sheet.
            </summary>
      <param name="sheet">The sheet to place this sheet before.</param>
      <returns>The moved sheet.</returns>
      <seealso cref="M:SpreadsheetGear.ISheet.CopyAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.CopyBefore(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.ISheet.Delete" />
      <seealso cref="M:SpreadsheetGear.ISheet.MoveAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.Add" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddAfter(SpreadsheetGear.ISheet)" />
      <seealso cref="M:SpreadsheetGear.IWorksheets.AddBefore(SpreadsheetGear.ISheet)" />
    </member>
    <member name="M:SpreadsheetGear.ISheet.Select">
      <summary>
            Selects the sheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.ISheet.Index">
      <summary>
            Returns the zero based index of this sheet.
            </summary>
      <remarks>
            This is the index into <strong>ISheets</strong>, and may not be the correct index
            into <strong>IWorksheets</strong> if there are chart or module sheets in the workbook.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.ISheet.Name">
      <summary>
            Gets or sets the name of the sheet.
            </summary>
      <remarks>
        <para>Sheet names must be between 1 and 31 characters long.</para>
        <para>Sheet names may not contain any of the following characters:</para>
        <blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
          <para>[ ] ' \ * / : ? or \<br /></para>
        </blockquote>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.ISheet.Tab">
      <summary>
            Returns a reference to the sheet tab of this sheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.ISheet.Type">
      <summary>
            Returns the <strong>SheetType</strong> of this sheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.ISheet.Visible">
      <summary>
            Gets or sets the property which indicates whether or not a worksheet is visible.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.ISheet.Workbook">
      <summary>
            Returns the workbook which contains the current sheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.ISheet.WorkbookSet">
      <summary>
            Returns the parent <strong>IWorkbookSet</strong> of this sheet.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.IWorksheet.SaveAs(System.String,SpreadsheetGear.FileFormat)">
      <summary>
            Saves this worksheet using the specified filename and <strong>FileFormat</strong>,
            and updates the <strong>FullName</strong> property.
            </summary>
      <remarks>
            Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)" />
    </member>
    <member name="M:SpreadsheetGear.IWorksheet.SaveToMemory(SpreadsheetGear.FileFormat)">
      <summary>
            Saves this worksheet to a newly created memory buffer in the specified <strong>FileFormat</strong>.
            </summary>
      <returns>The memory buffer with the saved worksheet.</returns>
      <remarks>
            Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)" />
    </member>
    <member name="M:SpreadsheetGear.IWorksheet.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)">
      <summary>
            Saves this worksheet to a stream in the specified <strong>FileFormat</strong>.
            </summary>
      <param name="stream">The stream to write the worksheet to.</param>
      <param name="fileFormat">The file format to save the worksheet in.</param>
      <remarks>
        <para>Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)" />
    </member>
    <member name="M:SpreadsheetGear.IWorksheet.Protect(System.String)">
      <summary>
            Enables protection for this worksheet with the specified password.
            </summary>
      <param name="password">The password which will be required to unprotect the worksheet.</param>
      <seealso cref="M:SpreadsheetGear.IWorksheet.Unprotect(System.String)" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.ProtectContents" />
      <seealso cref="P:SpreadsheetGear.IRange.Locked" />
      <seealso cref="P:SpreadsheetGear.IRange.FormulaHidden" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectStructure" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectWindows" />
    </member>
    <member name="M:SpreadsheetGear.IWorksheet.Unprotect(System.String)">
      <summary>
            Disables protection for the worksheet with the specified password.
            </summary>
      <param name="password">The password which was used to protect the worksheet.</param>
      <seealso cref="M:SpreadsheetGear.IWorksheet.Protect(System.String)" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.ProtectContents" />
      <seealso cref="P:SpreadsheetGear.IRange.Locked" />
      <seealso cref="P:SpreadsheetGear.IRange.FormulaHidden" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectStructure" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectWindows" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.AutoFilter">
      <summary>
            Returns an instance of <strong>IAutoFilter</strong> which represents the
            autofilter options associated with this worksheet, or <strong>null</strong> if this
            worksheet is not in autofilter mode.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.AutoFilterMode" />
      <seealso cref="M:SpreadsheetGear.IRange.AutoFilter" />
      <seealso cref="T:SpreadsheetGear.IAutoFilter" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.AutoFilterMode">
      <summary>
            Gets or sets the property which specifies whether this worksheet is in autofilter
            mode.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.AutoFilter" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.AutoFilter" />
      <remarks>
        <para>Set this property to false to clear autofilters associated with this
                worksheet.</para>
        <para>
                    Use <see cref="M:SpreadsheetGear.IRange.AutoFilter" /> to enable autofilter mode for this
                    worksheet.
                </para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.Cells">
      <summary>
            Returns an instance of <strong>IRange</strong> which provides access
            to cell values, formulas, formatting and other cell properties and methods.
            </summary>
      <remarks>
            The range returned by this property represents the entire worksheet grid.
            </remarks>
      <seealso cref="T:SpreadsheetGear.IRange" />
      <seealso cref="P:SpreadsheetGear.IRange.Item(System.String)" />
      <seealso cref="P:SpreadsheetGear.IRange.Item(System.Int32,System.Int32)" />
      <seealso cref="P:SpreadsheetGear.IRange.Item(System.Int32,System.Int32,System.Int32,System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.DisplayAutomaticPageBreaks">
      <summary>
            Gets or sets the property which specifies whether automatic page breaks should be displayed.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.HPageBreaks">
      <summary>
            Returns a reference to the horizontal page break collection for the worksheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.Hyperlinks">
      <summary>
            Returns a reference to the hyperlink collection for the worksheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.Names">
      <summary>
            Returns the collection of worksheet specific defined names associated with this worksheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.Outline">
      <summary>
            Returns an instance of <strong>IOutline</strong> which provides access to outline options.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.PageSetup">
      <summary>
            Returns an instance of <strong>IPageSetup</strong> which provides access
            to page setup options.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.ProtectContents">
      <summary>
            Gets or sets the property which specifies whether the contents of a worksheet
            are protected.
            </summary>
      <remarks>
        <para>
                    This property must be set to true for <see cref="P:SpreadsheetGear.IRange.Locked" /> and
                    <see cref="P:SpreadsheetGear.IRange.FormulaHidden" /> to have any affect.
                </para>
        <para>
          <br />
                The default value of this property is <strong>false</strong>.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorksheet.Protect(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorksheet.Unprotect(System.String)" />
      <seealso cref="P:SpreadsheetGear.IRange.Locked" />
      <seealso cref="P:SpreadsheetGear.IRange.FormulaHidden" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectStructure" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.ProtectWindows" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Protect(System.String,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Unprotect(System.String)" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.Range">
      <summary>
            Returns an instance of <strong>IRange</strong> which provides access
            to cell values, formulas, formatting and other cell properties and methods.
            </summary>
      <remarks>
            This property actually returns the same instance of <strong>IRange</strong>
            as <see cref="P:SpreadsheetGear.IWorksheet.Cells" /> and is here as a convenience to Excel
            developers who are used to utilizing this property in the Excel Worksheet object.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.Shapes">
      <summary>
            Returns the collection of shapes associated with this worksheet.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IShapes" />
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.StandardWidth">
      <summary>
            Gets or sets the default column width for this worksheet in units equal
            to the width of a character in the default font.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.TransitionExpEval">
      <summary>
            Gets or sets the property which specifies whether or not a worksheet
            should use transitional formula evaluation.
            </summary>
      <remarks>
            This flag is used when workbooks are imported from Lotus 123 by Excel.<br />
            Note: SpreadsheetGear does not implement transitional formula evaluation other than to maintain this setting.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.TransitionFormEntry" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.TransitionFormEntry">
      <summary>
            Gets or sets the property which specifies whether or not a worksheet
            should use transitional formula entry.
            </summary>
      <remarks>
            This flag is used when workbooks are imported from Lotus 123 by Excel.<br />
            Note: SpreadsheetGear does not implement transitional formula entry other than to maintain this setting.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.TransitionExpEval" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.UsedRange">
      <summary>
            Returns an <strong>IRange</strong> representing the portion of
            the worksheet which is in use.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.VPageBreaks">
      <summary>
            Returns a reference to the vertical page break collection for the worksheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheet.WindowInfo">
      <summary>
            Returns an instance of <see cref="T:SpreadsheetGear.IWorksheetWindowInfo" /> which represents
            worksheet specific window options.
            </summary>
      <seealso cref="T:SpreadsheetGear.IWorksheetWindowInfo" />
    </member>
    <member name="T:SpreadsheetGear.Advanced.Cells.IValues">
      <summary>
            Provides a high performance, but potentially destructive API for getting and
            setting the cell values and formulas of a worksheet.
            </summary>
      <remarks>
        <para>
                    This interface provides high performance access to the values of a worksheet.
                    Unlike <see cref="T:SpreadsheetGear.IRange" />, <see cref="T:SpreadsheetGear.Advanced.Cells.IValue" /> and
                    <see cref="T:SpreadsheetGear.Advanced.Cells.IValues" /> do very little checking of arguments, worksheet/cell
                    protection, formatting, or other important properties and attributes of a
                    worksheet.
                </para>
        <para>
                    For example, <see cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetNumber(System.Int32,System.Int32,System.Double)" /> will allow you to place
                    numbers in every cell which is occupied by a merged cell, while
                    <see cref="P:SpreadsheetGear.IRange.Value" /> will throw an exception if you
                    attempt to place a number in any cell except the top-left cell of a merged
                    cell.
                </para>
        <para>Using this API to simply read the values of cells in a workbook can be done
                without fear of destructive side affects, although unexpected exceptions are likely
                to be thrown if you provide invalid row or column indexes. Formula cells will be
                calculated normally, as needed, before a cell type or cell value is
                returned.</para>
        <para>When using this API to set or clear values in a worksheet, you must be
                certain that what you are doing makes sense or you are likely to create a corrupt
                workbook. Don't replace part of an array formula with a value, or clear part of an
                array formula. Don't place a value into a cell which is part of a merged cell,
                unless you place the value in the top-left cell of the merged cell.</para>
        <para>Formats are not considered in any way and are never modified by this API.
                This API will always bypass any data validation or protection.</para>
        <para>Setting values with this API will clear pre-existing formulas or values as
                needed with the exceptions of the previously noted issues with array formulas and
                merged cells.</para>
        <para>Setting or clearing values with this API will update the calculation state of
                the workbook set.</para>
        <para>
                    The row and column indexes passed to this API are assumed to be valid row and
                    column indexes. Unexpected exceptions may be thrown if they are not valid.
                    Valid indexes are greater than or equal to zero and less than
                    <see cref="P:SpreadsheetGear.IWorkbookSet.MaxRows" /> /
                    <see cref="P:SpreadsheetGear.IWorkbookSet.MaxColumns" />.
                </para>
        <para>
          <strong>WorkbookViews</strong> associated with the workbook set containing this
                    worksheet will be updated as needed only if a lock is
                    <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock">acquired</see> before using
                    the API and <see cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock">released</see>
                    after using the API. To improve performance when using this API in conjunction
                    with a workbook view, use
                    <see cref="M:SpreadsheetGear.IWorkbookSet.BeginUpdate" /> and
                    <see cref="M:SpreadsheetGear.IWorkbookSet.EndUpdate" />.
                </para>
        <para>This API will not invoke <strong>WorkbookView.RangeChanged</strong>
                events.</para>
        <para>
                    If you are in doubt about whether you should use this API, use
                    <see cref="T:SpreadsheetGear.IRange" /> instead.
                </para>
      </remarks>
      <example>
        <code lang="CS">
            using System; using DevTeam;
            using SG.Diagnostics;
            using SpreadsheetGear;
            using SpreadsheetGear.Advanced.Cells;
             
            namespace SpreadsheetGear.AdvancedCellValueSample
            {
                class Program
                {
                    // Demonstrate the use of advanced cell values APIs.
                    static void Main()
                    {
                        // Create a new workbook and get it's worksheet.
                        IWorkbook workbook = Factory.GetWorkbook();
                        IWorksheet worksheet = workbook.Worksheets[0];
             
                        // Get the SpreadsheetGear.Advanced.Cells.IValues
                        // interface from the worksheet.
                        IValues values = (IValues)worksheet;
             
                        // Set short month names in B1, C1 and D1 and verify
                        // using SpreadsheetGear.Advanced.Cells.IValue.
                        values.SetText(0, 1, "Jan");
                        Debug.Assert(values[0, 1].Text.Equals("Jan"));
                        values.SetText(0, 2, "Feb");
                        Debug.Assert(values[0, 2].Text.Equals("Feb"));
                        values.SetText(0, 3, "Mar");
                        Debug.Assert(values[0, 3].Text.Equals("Mar"));
             
                        // Set names in A2, A3 and A4 and verify.
                        values.SetText(1, 0, "Mary");
                        Debug.Assert(values[1, 0].Text.Equals("Mary"));
                        values.SetText(2, 0, "Mike");
                        Debug.Assert(values[2, 0].Text.Equals("Mike"));
                        values.SetText(3, 0, "Miles");
                        Debug.Assert(values[3, 0].Text.Equals("Miles"));
             
                        // Set some numeric values in B2:D4 and verify.
                        for (int column = 1; column &lt;= 3; column++)
                        {
                            double columnSum = 0.0;
                            for (int row = 1; row &lt;= 3; row++)
                            {
                                double number = row * 10 + column;
                                values.SetNumber(row, column, number);
                                Debug.Assert(values[row, column].Number == number);
                                columnSum += number;
                            }
                            // Set formulas which sum the month, verify the
                            // formula was set and verify the formula result
                            // is correct.
                            string formula = "=SUM("
                                + workbook.WorkbookSet.GetAddress(1, column)
                                + ":"
                                + workbook.WorkbookSet.GetAddress(3, column)
                                + ")";
                            values.SetFormula(4, column, formula);
                            IValue val = values[4, column];
                            Debug.Assert(val != null);
                            Debug.Assert(val.HasFormula);
                            Debug.Assert(val.Formula.Equals(formula));
                            Debug.Assert(val.Type == SpreadsheetGear.Advanced.Cells.ValueType.Number);
                            Debug.Assert(val.Number == columnSum);
                        }
                    }
                }
            }
                </code>
        <code lang="VB">
            Imports System
            Imports System.Diagnostics
            Imports SpreadsheetGear
            Imports SpreadsheetGear.Advanced.Cells
             
            Namespace SpreadsheetGear.AdvancedCellValueSample
            _
                Class Program
             
                    ' Demonstrate the use of advanced cell values APIs.
                    Shared Sub Main()
                        ' Create a new workbook and get it's worksheet.
                        Dim workbook As IWorkbook = Factory.GetWorkbook()
                        Dim worksheet As IWorksheet = workbook.Worksheets(0)
             
                        ' Get the SpreadsheetGear.Advanced.Cells.IValues
                        ' interface from the worksheet.
                        Dim values As IValues = CType(worksheet, IValues)
             
                        ' Set short month names in B1, C1 and D1 and verify
                        ' using SpreadsheetGear.Advanced.Cells.IValue.
                        values.SetText(0, 1, "Jan")
                        Debug.Assert(values(0, 1).Text.Equals("Jan"))
                        values.SetText(0, 2, "Feb")
                        Debug.Assert(values(0, 2).Text.Equals("Feb"))
                        values.SetText(0, 3, "Mar")
                        Debug.Assert(values(0, 3).Text.Equals("Mar"))
             
                        ' Set names in A2, A3 and A4 and verify.
                        values.SetText(1, 0, "Mary")
                        Debug.Assert(values(1, 0).Text.Equals("Mary"))
                        values.SetText(2, 0, "Mike")
                        Debug.Assert(values(2, 0).Text.Equals("Mike"))
                        values.SetText(3, 0, "Miles")
                        Debug.Assert(values(3, 0).Text.Equals("Miles"))
             
                        ' Set some numeric values in B2:D4 and verify.
                        Dim column As Integer
                        For column = 1 To 3
                            Dim columnSum As Double = 0.0
                            Dim row As Integer
                            For row = 1 To 3
                                Dim number As Double = row * 10 + column
                                values.SetNumber(row, column, number)
                                Debug.Assert((values(row, column).Number = number))
                                columnSum += number
                            Next row
                            ' Set formulas which sum the month, verify the
                            ' formula was set and verify the formula result
                            ' is correct.
                            Dim formula As String = "=SUM(" + workbook.WorkbookSet.GetAddress(1, column) + ":" + workbook.WorkbookSet.GetAddress(3, column) + ")"
                            values.SetFormula(4, column, formula)
                            Dim val As IValue = values(4, column)
                            Debug.Assert((Not (val Is Nothing)))
                            Debug.Assert(val.HasFormula)
                            Debug.Assert(val.Formula.Equals(formula))
                            Debug.Assert((val.Type = Advanced.Cells.ValueType.Number))
                            Debug.Assert((val.Number = columnSum))
                        Next column
                    End Sub 'Main
                End Class 'Program
            End Namespace 'SpreadsheetGear.AdvancedCellValueSample  
                </code>
      </example>
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.ValueType" />
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValues.Clear(System.Int32,System.Int32)">
      <summary>
            Clears the value in the specified cell if one currently exists.
            </summary>
      <param name="row">Specifies the row of the cell to clear.</param>
      <param name="column">Specifies the column of the cell to clear.</param>
      <para>See the <see cref="T:SpreadsheetGear.Advanced.Cells.IValues" /> overview for warnings about using this method.</para>
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValues.IsValidNumber(System.Double)">
      <summary>
            Returns <strong>true</strong> if the specified number is a valid cell number,
            otherwise <strong>false</strong> is returned.
            </summary>
      <param name="number">The number to validate.</param>
      <returns>
        <strong>true</strong> if the number is a valid cell number, false otherwise.</returns>
      <remarks>
            Unlike <see cref="P:SpreadsheetGear.IRange.Value" />, <see cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetNumber(System.Int32,System.Int32,System.Double)" /> assumes the number
            being placed in a cell is a valid cell number. A valid cell number is either zero, or a non-zero number which is not
            suffering from underflow or overflow. Positive infinity, negative infinity and NaN are not valid cell numbers.
            </remarks>
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetNumber(System.Int32,System.Int32,System.Double)" />
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.ValidateNumber(System.Double@)" />
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValues.SetError(System.Int32,System.Int32,SpreadsheetGear.ValueError)">
      <summary>
            Sets the value of the specified cell to the specified error value.
            </summary>
      <param name="row">Specifies the row of the cell to set.</param>
      <param name="column">Specifies the column of the cell to set.</param>
      <param name="error">Specifies the error value to place into the specified cell.</param>
      <remarks>
        <para>See the <see cref="T:SpreadsheetGear.Advanced.Cells.IValues" /> overview for warnings about using this method.</para>
      </remarks>
      <seealso cref="T:SpreadsheetGear.ValueError" />
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValue.Error" />
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValues.SetFormula(System.Int32,System.Int32,System.String)">
      <summary>
            Sets the specified cell to the specified formula.
            </summary>
      <param name="row">Specifies the row of the cell to set.</param>
      <param name="column">Specifies the column of the cell to set.</param>
      <param name="formula">Specifies the formula to place into the specified cell.</param>
      <remarks>
        <para>See the <see cref="T:SpreadsheetGear.Advanced.Cells.IValues" /> overview for warnings about using this method.</para>
        <para>The specified formula must be a valid cell formula. A leading "=" is optional.</para>
        <para>Note that, unlike <see cref="P:SpreadsheetGear.IRange.Formula" />, this method does not
            try to parse the value as anything but a valid formula, and an <strong>ArgumentException</strong>
            will be thrown if the formula is invalid.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValue.Formula" />
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValues.SetFormula(System.Int32,System.Int32,System.Text.StringBuilder)">
      <summary>
            Sets the specified cell to the specified formula.
            </summary>
      <param name="row">Specifies the row of the cell to set.</param>
      <param name="column">Specifies the column of the cell to set.</param>
      <param name="buffer">Specifies the formula to place into the specified cell.</param>
      <remarks>
        <para>See the <see cref="T:SpreadsheetGear.Advanced.Cells.IValues" /> overview for warnings about using this method.</para>
        <para>The specified formula must be a valid cell formula. A leading "=" is optional.</para>
        <para>Note that, unlike <see cref="P:SpreadsheetGear.IRange.Formula" />, this method does not
            try to parse the value as anything but a valid formula, and an <strong>ArgumentException</strong>
            will be thrown if the formula is invalid.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValue.GetFormula(System.Text.StringBuilder)" />
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValues.SetLogical(System.Int32,System.Int32,System.Boolean)">
      <summary>
            Sets the value of the specified cell to the specified logical value.
            </summary>
      <param name="row">Specifies the row of the cell to set.</param>
      <param name="column">Specifies the column of the cell to set.</param>
      <param name="logical">Specifies the logical value to place into the specified cell.</param>
      <remarks>
        <para>See the <see cref="T:SpreadsheetGear.Advanced.Cells.IValues" /> overview for warnings about using this method.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValue.Logical" />
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValues.SetNumber(System.Int32,System.Int32,System.Double)">
      <summary>
            Sets the value of the specified cell to the specified number and marks the workbook as 
            needing calculation; the number is assumed to be a valid double precision floating point
            number.
            </summary>
      <param name="row">Specifies the row of the cell to set.</param>
      <param name="column">Specifies the column of the cell to set.</param>
      <param name="number">Specifies the number to place into the specified cell.</param>
      <remarks>
        <para>See the <see cref="T:SpreadsheetGear.Advanced.Cells.IValues" /> overview for warnings about using this method.</para>
        <para>See <see cref="M:SpreadsheetGear.Advanced.Cells.IValues.ValidateNumber(System.Double@)" /> for information about validating numbers before placing them in a cell.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.ValidateNumber(System.Double@)" />
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.IsValidNumber(System.Double)" />
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValue.Number" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.DateTimeToNumber(System.DateTime)" />
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValues.SetText(System.Int32,System.Int32,System.String)">
      <summary>
            Sets the value of the specified cell to the specified text.
            </summary>
      <param name="row">Specifies the row of the cell to set.</param>
      <param name="column">Specifies the column of the cell to set.</param>
      <param name="text">Specifies the text to place into the specified cell.</param>
      <remarks>
        <para>See the <see cref="T:SpreadsheetGear.Advanced.Cells.IValues" /> overview for warnings about using this method.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValue.Text" />
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValues.SetText(System.Int32,System.Int32,System.Text.StringBuilder)">
      <summary>
            Sets the value of the specified cell to the specified text.
            </summary>
      <param name="row">Specifies the row of the cell to set.</param>
      <param name="column">Specifies the column of the cell to set.</param>
      <param name="buffer">Specifies the text to place into the specified cell.</param>
      <remarks>
        <para>See the <see cref="T:SpreadsheetGear.Advanced.Cells.IValues" /> overview for warnings about using this method.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValue.GetText(System.Text.StringBuilder)" />
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValues.ValidateNumber(System.Double@)">
      <summary>
            Returns <strong>true</strong> if the specified number is a valid number; converts numbers suffering
            from underflow to +0.0; returns <strong>false </strong> if the number cannot be validated.
            </summary>
      <returns>
        <strong>true</strong> if the number is valid, false otherwise.</returns>
      <remarks>
                Unlike <see cref="P:SpreadsheetGear.IRange.Value" />,
                <see cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetNumber(System.Int32,System.Int32,System.Double)" /> assumes the number being placed in a cell is a
                valid number. A valid number is either +0.0, or a non-zero number which is not
                suffering from underflow or overflow. If <strong>number</strong> is suffering from
                underflow or is equal to -0.0, it will be set to +0.0 and <strong>true</strong>
                will be returned. If the number cannot be validated, <strong>false</strong> is
                returned.
            </remarks>
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetNumber(System.Int32,System.Int32,System.Double)" />
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.IsValidNumber(System.Double)" />
      <param name="number">The number to validate.</param>
    </member>
    <member name="P:SpreadsheetGear.Advanced.Cells.IValues.Item(System.Int32,System.Int32)">
      <summary>
                Returns the <see cref="T:SpreadsheetGear.Advanced.Cells.IValue" /> representing the value type, value and
                formula of the specified cell, or <strong>null</strong> if the cell does not have a
                value.
            </summary>
      <param name="row">The row of the cell whose value will be returned.</param>
      <param name="column">The column of the cell whose value will be returned.</param>
      <returns>
            The <see cref="T:SpreadsheetGear.Advanced.Cells.IValue" /> representing the type, value and formula of the specified cell, 
            or <strong>null</strong> if the cell does not have a value.
            </returns>
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValue" />
    </member>
    <member name="T:SpreadsheetGear.ITab">
      <summary>
            Represents a sheet tab.
            </summary>
      <seealso cref="P:SpreadsheetGear.ISheet.Tab" />
    </member>
    <member name="P:SpreadsheetGear.ITab.Color">
      <summary>
            Gets or sets the <strong>SpreadsheetGear.Color</strong> of the sheet tab.
            </summary>
      <seealso cref="P:SpreadsheetGear.ITab.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.ITab.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.ISheet.Tab" />
    </member>
    <member name="P:SpreadsheetGear.ITab.ColorIndex">
      <summary>
            Gets or sets the zero based color index of the sheet tab.
            </summary>
      <seealso cref="P:SpreadsheetGear.ITab.Color" />
      <seealso cref="P:SpreadsheetGear.ITab.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.ISheet.Tab" />
    </member>
    <member name="P:SpreadsheetGear.ITab.ThemeColor">
      <summary>
            Gets or sets the theme color of the represented sheet tab.
            </summary>
      <seealso cref="P:SpreadsheetGear.ITab.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.ITab.Color" />
      <seealso cref="P:SpreadsheetGear.ITab.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.ISheet.Tab" />
    </member>
    <member name="P:SpreadsheetGear.ITab.TintAndShade">
      <summary>
            Gets or sets the property which controls darkening (values between -1.0 and 0.0) or lightening (values between 0.0 and 1.0) of the underlying theme color.
            </summary>
      <remarks>Setting this property will have no effect if the underlying color is not a theme color.</remarks>
      <seealso cref="P:SpreadsheetGear.ITab.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.ISheet.Tab" />
    </member>
    <member name="T:SpreadsheetGear.Advanced.Cells.IValue">
      <summary>
                Represents the <see cref="T:SpreadsheetGear.Advanced.Cells.ValueType" />, value and <see cref="P:SpreadsheetGear.Advanced.Cells.IValue.Formula" />
                of a worksheet cell; cells with no value are represented by <strong>null</strong>.
            </summary>
      <remarks>
        <para>
                    See the <see cref="T:SpreadsheetGear.Advanced.Cells.IValues" /> overview for sample code.
                </para>
        <para>Cells with no value are represented by <strong>null</strong>.</para>
      </remarks>
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValues.Item(System.Int32,System.Int32)" />
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.ValueType" />
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValue.Type" />
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValue.GetFormula(System.Text.StringBuilder)">
      <summary>
            Returns the formula of this cell in the specified buffer, or sets the length
            of the buffer to zero if the cell does not contain a formula.
            </summary>
      <param name="buffer">The buffer into which the formula will be placed.</param>
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValue.Formula" />
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValue.HasFormula" />
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetFormula(System.Int32,System.Int32,System.Text.StringBuilder)" />
    </member>
    <member name="M:SpreadsheetGear.Advanced.Cells.IValue.GetText(System.Text.StringBuilder)">
      <summary>
            Returns the unformatted text value of this cell in the specified buffer, or sets the length
            of the buffer to zero if the cell does not contain text.
            </summary>
      <param name="buffer">
      </param>
      <remarks>
            Formula cells are calculated as needed before returning the text value.
            </remarks>
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValue.Text" />
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetText(System.Int32,System.Int32,System.Text.StringBuilder)" />
    </member>
    <member name="P:SpreadsheetGear.Advanced.Cells.IValue.Error">
      <summary>
            Returns the error value of this cell, or <strong>SpreadsheetGear.ValueError.None</strong> if this cell does not contain an error value.
            </summary>
      <remarks>
            Formula cells are calculated as needed before returning the error value.
            </remarks>
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetError(System.Int32,System.Int32,SpreadsheetGear.ValueError)" />
      <seealso cref="T:SpreadsheetGear.ValueError" />
    </member>
    <member name="P:SpreadsheetGear.Advanced.Cells.IValue.Formula">
      <summary>
            Returns the formula of this cell, or <strong>null</strong> if this cell has no formula.
            </summary>
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValue.GetFormula(System.Text.StringBuilder)" />
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValue.HasFormula" />
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetFormula(System.Int32,System.Int32,System.String)" />
    </member>
    <member name="P:SpreadsheetGear.Advanced.Cells.IValue.Logical">
      <summary>
            Returns the logical value of this cell, or <strong>false</strong> if this cell does 
            not contain a logical value.
            </summary>
      <remarks>
            Formula cells are calculated as needed before returning the logical value.
            </remarks>
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetLogical(System.Int32,System.Int32,System.Boolean)" />
    </member>
    <member name="P:SpreadsheetGear.Advanced.Cells.IValue.HasFormula">
      <summary>
            Returns <strong>true</strong> if this cell contains a formula, or <strong>false</strong> if
            this cell does not contain a formula.
            </summary>
      <seealso cref="P:SpreadsheetGear.Advanced.Cells.IValue.Formula" />
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValue.GetFormula(System.Text.StringBuilder)" />
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
    </member>
    <member name="P:SpreadsheetGear.Advanced.Cells.IValue.Number">
      <summary>
            Returns the double precision floating point value of this cell, or <strong>System.Double.NaN</strong> if
            this cell does not contain a number.
            </summary>
      <remarks>
            Formula cells are calculated as needed before returning the number.
            </remarks>
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetNumber(System.Int32,System.Int32,System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.NumberToDateTime(System.Double)" />
    </member>
    <member name="P:SpreadsheetGear.Advanced.Cells.IValue.Text">
      <summary>
            Returns the unformatted text value of this cell as a string, or <strong>null</strong> if this cell
            does not contain text.
            </summary>
      <remarks>
            Formula cells are calculated as needed before returning the text value.
            </remarks>
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValue.GetText(System.Text.StringBuilder)" />
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
      <seealso cref="M:SpreadsheetGear.Advanced.Cells.IValues.SetText(System.Int32,System.Int32,System.String)" />
    </member>
    <member name="P:SpreadsheetGear.Advanced.Cells.IValue.Type">
      <summary>
            Returns the type of this cell; cells with no value are represented by an
            <strong>IValue</strong> of <strong>null</strong></summary>
      <remarks>
        <para>Formula cells are calculated as needed before returning the type.</para>
        <para>Cells with no value are represented by an <strong>IValue</strong> of
                <strong>null</strong>.</para>
      </remarks>
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.ValueType" />
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
    </member>
    <member name="T:SpreadsheetGear.IOutline">
      <summary>
            Represents the outlining options of a worksheet.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.Outline" />
    </member>
    <member name="M:SpreadsheetGear.IOutline.ShowLevels(System.Int32,System.Int32)">
      <summary>
            Shows rows or columns with an <strong>OutlineLevel</strong> which is less than or equal to
            the specified level.
            </summary>
      <param name="rowLevels">All rows whose <strong>OutlineLevel</strong> is less than or equal to rowLevels will be shown.</param>
      <param name="columnLevels">All columns whose <strong>OutlineLevel</strong> is less than or equal to columnLevels will be shown.</param>
      <remarks>
            Specify a rowLevel of zero to leave rows unchanged and specify a columnLevel of zero 
            to leave columns unchanged.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.OutlineLevel" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.Outline" />
    </member>
    <member name="P:SpreadsheetGear.IOutline.SummaryColumn">
      <summary>
            Specifies whether summary columns are left of or to the right of detail columns.
            </summary>
      <seealso cref="P:SpreadsheetGear.IOutline.SummaryRow" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.Outline" />
    </member>
    <member name="P:SpreadsheetGear.IOutline.SummaryRow">
      <summary>
            Specifies whether summary rows are above or below detail rows.
            </summary>
      <seealso cref="P:SpreadsheetGear.IOutline.SummaryColumn" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.Outline" />
    </member>
    <member name="T:SpreadsheetGear.IHPageBreaks">
      <summary>
            Represents the collection of horizontal page breaks (row page breaks) in a worksheet.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.IHPageBreaks.Add(SpreadsheetGear.IRange)">
      <summary>
            Adds a new horizontal page break to a worksheet and returns a reference to it.
            </summary>
      <param name="before">The range before which to add the horizontal page break.</param>
      <returns>The horizontal page break.</returns>
    </member>
    <member name="P:SpreadsheetGear.IHPageBreaks.Item(System.Int32)">
      <summary>
            Returns the horizontal page break specified by the zero based index.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IHPageBreaks.Count">
      <summary>
            Returns the number of page breaks in this collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IVPageBreaks">
      <summary>
            Represents the collection of vertical page breaks (column page breaks) in a worksheet.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.IVPageBreaks.Add(SpreadsheetGear.IRange)">
      <summary>
            Adds a new vertical page break to a worksheet and returns a reference to it.
            </summary>
      <param name="before">The range before which to add the vertical page break.</param>
      <returns>The vertical page break.</returns>
    </member>
    <member name="P:SpreadsheetGear.IVPageBreaks.Item(System.Int32)">
      <summary>
            Returns the vertical page break specified by the zero based index.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IVPageBreaks.Count">
      <summary>
            Returns the number of page breaks in this collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IHPageBreak">
      <summary>
            Represents a horizontal page break (a row page break) in a worksheet.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.IHPageBreak.Delete">
      <summary>
            Deletes the horizontal page break from the worksheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IHPageBreak.Extent">
      <summary>
            Returns the extent of the horizontal page break.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IHPageBreak.Location">
      <summary>
            Gets or sets the location of the horizontal page break.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IVPageBreak">
      <summary>
            Represents a vertical page break (a column page break) in a worksheet.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.IVPageBreak.Delete">
      <summary>
            Deletes the vertical page break from the worksheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IVPageBreak.Extent">
      <summary>
            Returns the extent of the vertical page break.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IVPageBreak.Location">
      <summary>
            Gets or sets the location of the vertical page break.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IPageSetup">
      <summary>
            Represents the page setup properties of a worksheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.BottomMargin">
      <summary>
            Gets or sets the bottom margin for printing in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.BlackAndWhite">
      <summary>
            Gets or sets the property which specifies whether to print in black and white.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.CenterFooter">
      <summary>
            Gets or sets the center footer for printing.
            </summary>
      <remarks>
        <para>
          <font size="2">The <see cref="P:SpreadsheetGear.IPageSetup.CenterFooter" /> property takes a number of
                special codes:</font>
        </para>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <para class="xmldocbulletlist">
          </para>
          <list type="bullet">
            <item>&amp;P - the current page number.</item>
            <item>&amp;N - the total number of pages.</item>
            <item>&amp;B - use a bold font*.</item>
            <item>&amp;I - use an italic font*.</item>
            <item>&amp;U - use an underline font*.</item>
            <item>&amp;&amp; - the '&amp;' character.</item>
            <item>&amp;D - the current date.</item>
            <item>&amp;T - the current time.</item>
            <item>&amp;F - workbook name.</item>
            <item>&amp;A - worksheet name.</item>
            <item>&amp;"FontName" - use the specified font name*.</item>
            <item>&amp;N - use the specified font size*.</item>
          </list>
          <para>
            <font size="2">* Font codes appearing after any text or non-font codes
                    will be ignored by SpreadsheetGear's printing engine.</font>
          </para>
        </blockquote>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.CenterHeader">
      <summary>
            Gets or sets the center header for printing.
            </summary>
      <remarks>
        <para>
          <font size="2">The <see cref="P:SpreadsheetGear.IPageSetup.CenterHeader" /> property takes a number of
                special codes:</font>
        </para>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <para class="xmldocbulletlist">
          </para>
          <list type="bullet">
            <item>&amp;P - the current page number.</item>
            <item>&amp;N - the total number of pages.</item>
            <item>&amp;B - use a bold font*.</item>
            <item>&amp;I - use an italic font*.</item>
            <item>&amp;U - use an underline font*.</item>
            <item>&amp;&amp; - the '&amp;' character.</item>
            <item>&amp;D - the current date.</item>
            <item>&amp;T - the current time.</item>
            <item>&amp;F - workbook name.</item>
            <item>&amp;A - worksheet name.</item>
            <item>&amp;"FontName" - use the specified font name*.</item>
            <item>&amp;N - use the specified font size*.</item>
          </list>
          <para>
            <font size="2">* Font codes appearing after any text or non-font codes
                    will be ignored by SpreadsheetGear's printing engine.</font>
          </para>
        </blockquote>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.CenterHorizontally">
      <summary>
            Gets or sets the property which specifies whether to horizontally center printed pages.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.CenterVertically">
      <summary>
            Gets or sets the property which specifies whether to vertically center printed pages.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.Draft">
      <summary>
            Gets or sets the property which specifies whether to print in draft quality.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.FirstPageNumber">
      <summary>
            Gets or sets the starting page number.
            </summary>
      <remarks>
            This is the first page number to use in headers and footers. Set this property
            to zero for an automatic first page number.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.FitToPages">
      <summary>
            Gets or sets the property which specifies whether printing should scale printed
            output to the number of pages specified by <strong>FitToPagesTall</strong> and
            <strong>FitToPagesWide</strong>.
            </summary>
      <seealso cref="P:SpreadsheetGear.IPageSetup.FitToPagesTall" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.FitToPagesWide" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.Zoom" />
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.FitToPagesTall">
      <summary>
            Gets or sets the number of vertical pages to fit printed output to.
            </summary>
      <remarks>
        <para>Set <strong>FitToPagesTall</strong> to zero to fit horizontally but not
                vertically.</para>
        <para>
                    Setting <strong>FitToPagesTall</strong> to a non-zero value sets
                    <see cref="P:SpreadsheetGear.IPageSetup.FitToPages" /> to <strong>true</strong>.
                </para>
        <para>Setting <strong>FitToPagesTall</strong> and <strong>FitToPagesWide</strong>
                to zero sets <strong>FitToPages</strong> to <strong>false</strong>.</para>
        <para>
          <strong>FitToPagesTall</strong> has no effect when
                <strong>FitToPages</strong> is <strong>false</strong>.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IPageSetup.FitToPages" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.FitToPagesWide" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.Zoom" />
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.FitToPagesWide">
      <summary>
            Gets or sets the number of horizontal pages to fit printed output to.
            </summary>
      <remarks>
        <para>Set <strong>FitToPagesWide</strong> to zero to fit vertically but not
                horizontally.</para>
        <para>
                    Setting <strong>FitToPagesTall</strong> to a non-zero value sets
                    <see cref="P:SpreadsheetGear.IPageSetup.FitToPages" /> to <strong>true</strong>.
                </para>
        <para>Setting <strong>FitToPagesTall</strong> and <strong>FitToPagesWide</strong>
                to zero sets <strong>FitToPages</strong> to <strong>false</strong>.</para>
        <para>
          <strong>FitToPagesTall</strong> has no effect when
                <strong>FitToPages</strong> is <strong>false</strong>.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IPageSetup.FitToPages" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.FitToPagesTall" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.Zoom" />
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.FooterMargin">
      <summary>
            Gets or sets the footer margin for printing in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.HeaderMargin">
      <summary>
            Gets or sets the header margin for printing in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.LeftFooter">
      <summary>
            Gets or sets the left footer for printing.
            </summary>
      <remarks>
        <para>
          <font size="2">The <see cref="P:SpreadsheetGear.IPageSetup.LeftFooter" /> property takes a number of
                special codes:</font>
        </para>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <para class="xmldocbulletlist">
          </para>
          <list type="bullet">
            <item>&amp;P - the current page number.</item>
            <item>&amp;N - the total number of pages.</item>
            <item>&amp;B - use a bold font*.</item>
            <item>&amp;I - use an italic font*.</item>
            <item>&amp;U - use an underline font*.</item>
            <item>&amp;&amp; - the '&amp;' character.</item>
            <item>&amp;D - the current date.</item>
            <item>&amp;T - the current time.</item>
            <item>&amp;F - workbook name.</item>
            <item>&amp;A - worksheet name.</item>
            <item>&amp;"FontName" - use the specified font name*.</item>
            <item>&amp;N - use the specified font size*.</item>
          </list>
          <para>
            <font size="2">* Font codes appearing after any text or non-font codes
                    will be ignored by SpreadsheetGear's printing engine.</font>
          </para>
        </blockquote>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.LeftHeader">
      <summary>
            Gets or sets the left header for printing.
            </summary>
      <remarks>
        <para>
          <font size="2">The <see cref="P:SpreadsheetGear.IPageSetup.LeftHeader" /> property takes a number of
                special codes:</font>
        </para>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <para class="xmldocbulletlist">
          </para>
          <list type="bullet">
            <item>&amp;P - the current page number.</item>
            <item>&amp;N - the total number of pages.</item>
            <item>&amp;B - use a bold font*.</item>
            <item>&amp;I - use an italic font*.</item>
            <item>&amp;U - use an underline font*.</item>
            <item>&amp;&amp; - the '&amp;' character.</item>
            <item>&amp;D - the current date.</item>
            <item>&amp;T - the current time.</item>
            <item>&amp;F - workbook name.</item>
            <item>&amp;A - worksheet name.</item>
            <item>&amp;"FontName" - use the specified font name*.</item>
            <item>&amp;N - use the specified font size*.</item>
          </list>
          <para>
            <font size="2">* Font codes appearing after any text or non-font codes
                    will be ignored by SpreadsheetGear's printing engine.</font>
          </para>
        </blockquote>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.LeftMargin">
      <summary>
            Gets or sets the left margin for printing in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.Order">
      <summary>
            Gets or sets the order for printing.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.Orientation">
      <summary>
            Gets or sets the page orientation to use for printing.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.PaperSize">
      <summary>
            Gets or sets the property which specifies the size of the paper to print
            to.
            </summary>
      <remarks>
                Set <see cref="P:SpreadsheetGear.IPageSetup.PaperSize" /> to <strong>PaperSize.Default</strong> to specify
                the default paper size of the output device.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.PrintArea">
      <summary>
            Gets or sets the area of the worksheet to print using ReferenceStyle.A1.
            </summary>
      <remarks>
        <para>A string with a length of zero is returned if there is no print area.</para>
        <para>When no print area is defined, the used range of the worksheet is printed.</para>
        <para>The print area of a worksheet is stored in the sheet specific
            defined name "Print_Area".</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IPageSetup.PrintTitleRows" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.PrintTitleColumns" />
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.PrintComments">
      <summary>
            Gets or sets the property which specifies whether and where to print cell comments.
            </summary>
      <remarks>
            This setting is read, written and maintained but is not taken into account when SpreadsheetGear prints a workbook.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.PrintErrors">
      <summary>
            Gets or sets the property which specifies whether and how to print cell errors.
            </summary>
      <remarks>
            This setting is read, written and maintained but is not taken into account when SpreadsheetGear prints a workbook.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.PrintGridlines">
      <summary>
            Gets or sets the property which specifies whether gridlines are printed.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.PrintHeadings">
      <summary>
            Gets or sets the property which specifies whether row and column headings are printed.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.PrintNotes">
      <summary>
            Gets or sets the property which specifies whether to print cell comments after the worksheet.
            </summary>
      <remarks>
            Setting this property to true is equivalent to setting <strong>PrintComments</strong>
            to <strong>PrintLocation.SheetEnd</strong>.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.PrintQuality">
      <summary>
            Gets or sets the print quality in dots per inch.
            </summary>
      <seealso cref="P:SpreadsheetGear.IPageSetup.PrintQualityVertical" />
      <remarks>
        <para>
                    Set <see cref="P:SpreadsheetGear.IPageSetup.PrintQuality" /> to zero to use the default resolution of
                    the output device.
                </para>
        <para>
                    To print at non-square resolutions, set <see cref="P:SpreadsheetGear.IPageSetup.PrintQuality" /> to the
                    horizontal resolution and set <see cref="P:SpreadsheetGear.IPageSetup.PrintQualityVertical" /> to the
                    vertical resolution.
                </para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.PrintQualityVertical">
      <summary>
            Gets or sets the vertical print quality in dots per inch.
            </summary>
      <remarks>
        <para>
                    When printing with square resolutions, such as at 600x600 DPI, set
                    <see cref="P:SpreadsheetGear.IPageSetup.PrintQualityVertical" /> to zero.
                </para>
        <para>
                    To print at non-square resolutions, set <see cref="P:SpreadsheetGear.IPageSetup.PrintQuality" /> to the
                    horizontal resolution and <see cref="P:SpreadsheetGear.IPageSetup.PrintQualityVertical" /> to the
                    vertical resolution.
                </para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IPageSetup.PrintQuality" />
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.PrintTitleColumns">
      <summary>
            Gets or sets the columns to repeat on each printed page using ReferenceStyle.A1.
            </summary>
      <remarks>
        <para>A string with a length of zero is returned if there are no print title columns.</para>
        <para>The print title columns are stored in the sheet specific
            defined name "Print_Titles".</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IPageSetup.PrintArea" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.PrintTitleRows" />
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.PrintTitleRows">
      <summary>
            Gets or sets the rows to repeat on each printed page using ReferenceStyle.A1.
            </summary>
      <remarks>
        <para>A string with a length of zero is returned if there are no print title rows.</para>
        <para>The print title rows are stored in the sheet specific
            defined name "Print_Titles".</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IPageSetup.PrintArea" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.PrintTitleColumns" />
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.RightFooter">
      <summary>
            Gets or sets the right footer for printing.
            </summary>
      <remarks>
        <para>
          <font size="2">The <see cref="P:SpreadsheetGear.IPageSetup.RightFooter" /> property takes a number of
                special codes:</font>
        </para>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <para class="xmldocbulletlist">
          </para>
          <list type="bullet">
            <item>&amp;P - the current page number.</item>
            <item>&amp;N - the total number of pages.</item>
            <item>&amp;B - use a bold font*.</item>
            <item>&amp;I - use an italic font*.</item>
            <item>&amp;U - use an underline font*.</item>
            <item>&amp;&amp; - the '&amp;' character.</item>
            <item>&amp;D - the current date.</item>
            <item>&amp;T - the current time.</item>
            <item>&amp;F - workbook name.</item>
            <item>&amp;A - worksheet name.</item>
            <item>&amp;"FontName" - use the specified font name*.</item>
            <item>&amp;N - use the specified font size*.</item>
          </list>
          <para>
            <font size="2">* Font codes appearing after any text or non-font codes
                    will be ignored by SpreadsheetGear's printing engine.</font>
          </para>
        </blockquote>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.RightHeader">
      <summary>
            Gets or sets the right header for printing.
            </summary>
      <remarks>
        <para>
          <font size="2">The <see cref="P:SpreadsheetGear.IPageSetup.RightHeader" /> property takes a number of
                special codes:</font>
        </para>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <para class="xmldocbulletlist">
          </para>
          <list type="bullet">
            <item>&amp;P - the current page number.</item>
            <item>&amp;N - the total number of pages.</item>
            <item>&amp;B - use a bold font*.</item>
            <item>&amp;I - use an italic font*.</item>
            <item>&amp;U - use an underline font*.</item>
            <item>&amp;&amp; - the '&amp;' character.</item>
            <item>&amp;D - the current date.</item>
            <item>&amp;T - the current time.</item>
            <item>&amp;F - workbook name.</item>
            <item>&amp;A - worksheet name.</item>
            <item>&amp;"FontName" - use the specified font name*.</item>
            <item>&amp;N - use the specified font size*.</item>
          </list>
          <para>
            <font size="2">* Font codes appearing after any text or non-font codes
                    will be ignored by SpreadsheetGear's printing engine.</font>
          </para>
        </blockquote>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.RightMargin">
      <summary>
            Gets or sets the right margin for printing in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.TopMargin">
      <summary>
            Gets or sets the top margin for printing in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IPageSetup.Zoom">
      <summary>
            Gets or sets the scaling factor for printing.
            </summary>
      <remarks>
        <para>A value of 100 specifies 100 percent of normal size. <strong>Zoom</strong>
            must be between 10 and 400.</para>
        <para>Setting <strong>Zoom</strong> sets <see cref="P:SpreadsheetGear.IPageSetup.FitToPages" /> to <strong>false</strong>.</para>
        <para>
          <strong>Zoom</strong> has no effect when <strong>FitToPages</strong> is <strong>true</strong>.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IPageSetup.FitToPagesTall" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.FitToPagesWide" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.FitToPages" />
      <seealso cref="P:SpreadsheetGear.IPageSetup.Zoom" />
    </member>
    <member name="T:SpreadsheetGear.IRange">
      <summary>
            Represents one or more cells, rows, columns, or ranges of cells.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a workbook.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Get the worksheet and change the name.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    worksheet.Name = "2005 Sales";
                    // Get the worksheet cells reference.
                    SpreadsheetGear.IRange cells = worksheet.Cells;
                    // Add column headers using a string index into the cell range.
                    cells["B1"].Formula = "Jan";
                    cells["C1"].Formula = "Feb";
                    cells["D1"].Formula = "Mar";
                    // Add row headers using zero based row and column indexes.
                    cells[1, 0].Formula = "Jennifer";
                    cells[2, 0].Formula = "William";
                    cells[3, 0].Formula = "Kristen";
                    // Add random data using a multiple cell string index.
                    cells["B2:D4"].Formula = "=RAND()*10000";
                    // Center the column headers using multiple cell row and column indexes.
                    cells[0, 1, 0, 3].HorizontalAlignment = SpreadsheetGear.HAlign.Center;
                    // Bold the row and column headers using a string index to multiple ranges.
                    cells["B1:D1,A2:A4"].Font.Bold = true;
                    // Format the data as currency.
                    cells["B2:D4"].NumberFormat = "$#,##0";
                    // Write the workbook.
                    workbook.SaveAs("2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97);
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a workbook.
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    ' Get the worksheet and change the name.
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    worksheet.Name = "2005 Sales"
                    ' Get the worksheet cells reference.
                    Dim cells As SpreadsheetGear.IRange = worksheet.Cells
                    ' Add column headers using a string index into the cells range.
                    cells("B1").Formula = "Jan"
                    cells("C1").Formula = "Feb"
                    cells("D1").Formula = "Mar"
                    ' Add row headers using zero based row and column indexes.
                    cells(1, 0).Formula = "Jennifer"
                    cells(2, 0).Formula = "William"
                    cells(3, 0).Formula = "Kristen"
                    ' Add random data using a multiple cell string index.
                    cells("B2:D4").Formula = "=RAND()*10000"
                    ' Center the column headers using multiple cell row and column indexes.
                    cells(0, 1, 0, 3).HorizontalAlignment = SpreadsheetGear.HAlign.Center
                    ' Bold the row and column headers using a string index to multiple ranges.
                    cells("B1:D1,A2:A4").Font.Bold = True
                    ' Format the data as currency.
                    cells("B2:D4").NumberFormat = "$#,##0"
                    ' Write the workbook.
                    workbook.SaveAs("2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97)
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <seealso cref="P:SpreadsheetGear.IWorksheet.Cells" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Activate">
      <summary>
            Sets the active cell of the worksheet associated with this <strong>IRange</strong>
            to the top-left cell of this <strong>IRange</strong>.
            </summary>
      <remarks>
            If the specified cell is not contained in the current selection, the current
            selection is set to the newly active cell.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IRange.Select" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCell" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCellAreaIndex" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.RangeSelection" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.SetSelection(SpreadsheetGear.IRange,SpreadsheetGear.IRange,System.Int32)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.AddComment(System.String)">
      <summary>
            Adds a single comment with the specified text to the single cell represented by this range.
            </summary>
      <param name="text">Specifies the text for the new comment.</param>
      <returns>An instance of <strong>IComment</strong> representing the newly created range.</returns>
      <seealso cref="P:SpreadsheetGear.IRange.Comment" />
      <seealso cref="M:SpreadsheetGear.IRange.ClearComments" />
    </member>
    <member name="M:SpreadsheetGear.IRange.AutoFill(SpreadsheetGear.IRange,SpreadsheetGear.AutoFillType)">
      <summary>
            Automatically fills the destination range given the starting values from this range and the specified <strong>AutoFillType</strong>.
            </summary>
      <param name="destination">Specifies the destination range to fill.</param>
      <param name="autoFillType">Specifies the type of fill to perform.</param>
    </member>
    <member name="M:SpreadsheetGear.IRange.AutoFilter">
      <summary>
            Adds autofilter dropdowns to the columns of the specified range if none exist, 
            or removes autofilter dropdowns if they do exist.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.IRange.AutoFilter(System.Int32,System.Object,SpreadsheetGear.AutoFilterOperator,System.Object,System.Boolean)">
      <summary>
      </summary>
      <param name="field">
      </param>
      <param name="criteria1">
      </param>
      <param name="op">
      </param>
      <param name="criteria2">
      </param>
      <param name="visibleDropDown">
      </param>
    </member>
    <member name="M:SpreadsheetGear.IRange.AutoFit">
      <summary>
            Automatically sets the width of the specified columns or the height of the
            specified rows.
            </summary>
      <remarks>
            When <strong>IRange.AutoFit</strong> is used on columns, the width of the
            columns is set to the appropriate width immediately. However, for rows, the height is
            set to the default height and a flag is set indicating that the row height is
            automatic, and Excel will actually set the height when the row is displayed.
            </remarks>
      <example>
        <code lang="CS">
            // Automatically set the width on columns B and C.
            worksheet.Cells["B:C"].Columns.AutoFit();
             
            // Set the row height to automatic on rows 7 through 9.
            worksheet.Cells["7:9"].Rows.AutoFit();
                </code>
        <code lang="VB">
            ' Automatically set the width on columns B and C.
            worksheet.Cells("B:C").Columns.AutoFit()
             
            ' Set the row height to automatic on rows 7 through 9.
            worksheet.Cells("7:9").Rows.AutoFit()
                </code>
      </example>
      <seealso cref="P:SpreadsheetGear.IRange.Rows" />
      <seealso cref="P:SpreadsheetGear.IRange.Columns" />
      <seealso cref="P:SpreadsheetGear.IRange.ColumnWidth" />
      <seealso cref="P:SpreadsheetGear.IRange.RowHeight" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Clear">
      <summary>
            Clears formulas, values and all formatting from the current <strong>IRange</strong>.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.ClearContents" />
      <seealso cref="M:SpreadsheetGear.IRange.ClearFormats" />
    </member>
    <member name="M:SpreadsheetGear.IRange.ClearComments">
      <summary>
            Clears all comments associated with any cells in this range.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.AddComment(System.String)" />
      <seealso cref="P:SpreadsheetGear.IRange.Comment" />
    </member>
    <member name="M:SpreadsheetGear.IRange.ClearContents">
      <summary>
            Clears formulas and values from the current <strong>IRange</strong>.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Clear" />
      <seealso cref="M:SpreadsheetGear.IRange.ClearFormats" />
    </member>
    <member name="M:SpreadsheetGear.IRange.ClearFormats">
      <summary>
            Clears all formatting from the current <strong>IRange</strong>.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Clear" />
      <seealso cref="M:SpreadsheetGear.IRange.ClearContents" />
    </member>
    <member name="M:SpreadsheetGear.IRange.ClearOutline">
      <summary>
            Clears the specified represented row or column outline levels, or all outline levels 
            of the associated worksheet if this range does not represent rows or columns.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange)">
      <summary>
            Copies the cells, rows and/or columns of the current <strong>IRange</strong> to the destination <strong>IRange</strong>.
            </summary>
      <remarks>If the current range is not large enough to fill the destination range, the current range is repeated.</remarks>
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange,SpreadsheetGear.PasteType,SpreadsheetGear.PasteOperation,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IRange.FillDown" />
      <seealso cref="M:SpreadsheetGear.IRange.FillLeft" />
      <seealso cref="M:SpreadsheetGear.IRange.FillRight" />
      <seealso cref="M:SpreadsheetGear.IRange.FillUp" />
      <example>
        <code lang="CS" title="Demonstrate Copying Cells">
            using System; using DevTeam;
             
            namespace SpreadsheetGear.CopySample
            {
                class Program
                {
                    static void Main(string[] args)
                    {
                        // Create a workbook
                        SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                        SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets[0];
                        SpreadsheetGear.IRange cells = worksheet.Cells;
             
                        // Put some data in the workbook.
                        cells["A2"].Value = "Corn";
                        cells["A3"].Value = "Wheat";
                        cells["A4"].Value = "Barley";
                        cells["B1"].Value = "Jan";
                        cells["C1"].Value = "Feb";
                        cells["D1"].Value = "Mar";
                        cells["B2:D4"].Formula = "=RAND()*10000";
             
                        // Make a copy in the same workbook - the destination will be
                        // automatically sized to fit the source.
                        cells["A1:D4"].Copy(cells["A6"]);
             
                        // Create a 2nd worksheet.
                        SpreadsheetGear.IWorksheet worksheet2 = workbook.Worksheets.Add();
             
                        // Copy from the first worksheet to the 2nd.
                        cells["A1:D4"].Copy(worksheet2.Cells["A1"]);
             
                        // Save to disk.
                        workbook.SaveAs(@"c:\CopySample.xls", FileFormat.XLS97);
                    }
                }
            }
                </code>
        <code lang="VB">
            Imports System
            Imports SpreadsheetGear
             
            Namespace SpreadsheetGear.CopySample
                Class Program
                    Public Overloads Shared Sub Main()
                        ' Create a workbook
                        Dim workbook As IWorkbook = Factory.GetWorkbook()
                        Dim worksheet As IWorksheet = workbook.Worksheets(0)
                        Dim cells As IRange = worksheet.Cells
             
                        ' Put some data in the workbook.
                        cells("A2").Value = "Corn"
                        cells("A3").Value = "Wheat"
                        cells("A4").Value = "Barley"
                        cells("B1").Value = "Jan"
                        cells("C1").Value = "Feb"
                        cells("D1").Value = "Mar"
                        cells("B2:D4").Formula = "=RAND()*10000"
             
                        ' Make a copy in the same workbook - the destination will be
                        ' automatically sized to fit the source.
                        cells("A1:D4").Copy(cells("A6"))
             
                        ' Create a 2nd worksheet.
                        Dim worksheet2 As IWorksheet = workbook.Worksheets.Add()
             
                        ' Copy from the first worksheet to the 2nd.
                        cells("A1:D4").Copy(worksheet2.Cells("A1"))
             
                        ' Save to disk.
                        workbook.SaveAs("c:\CopySample.xls", FileFormat.XLS97)
                    End Sub 'Main '
                End Class 'Program
            End Namespace 'SpreadsheetGear.CopySample
                </code>
      </example>
      <param name="destination">The destination range.</param>
    </member>
    <member name="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange,SpreadsheetGear.PasteType,SpreadsheetGear.PasteOperation,System.Boolean,System.Boolean)">
      <summary>
            Copies the cells, rows and/or columns of the current <strong>IRange</strong> to 
            the destination <strong>IRange</strong> using the specified options.
            </summary>
      <param name="destination">The destination range.</param>
      <param name="pasteType">Specifies what to paste.</param>
      <param name="pasteOperation">Specifies how to combine values.</param>
      <param name="skipBlanks">Specifies whether blanks in the source range should be skipped (formatted cells with no data are considered blank cells).</param>
      <param name="transpose">Specifies whether data should be transposed in the destination.</param>
      <remarks>
        <para>
            Column widths, column formats and column outlines are copied if entire columns are being copied.
            </para>
        <para>
            Row heights, row formats and row outlines are copied if entire rows are being copied.
            </para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.FillDown" />
      <seealso cref="M:SpreadsheetGear.IRange.FillLeft" />
      <seealso cref="M:SpreadsheetGear.IRange.FillRight" />
      <seealso cref="M:SpreadsheetGear.IRange.FillUp" />
    </member>
    <member name="M:SpreadsheetGear.IRange.CopyDown">
      <summary>
            Copies values, formulas and formats in the top row of the range to subsequent rows.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange,SpreadsheetGear.PasteType,SpreadsheetGear.PasteOperation,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IRange.FillDown" />
      <seealso cref="M:SpreadsheetGear.IRange.FillLeft" />
      <seealso cref="M:SpreadsheetGear.IRange.FillRight" />
      <seealso cref="M:SpreadsheetGear.IRange.FillUp" />
      <remarks>NOTE: This method is obsolete. Use the <see cref="M:SpreadsheetGear.IRange.FillDown" /> method.</remarks>
    </member>
    <member name="M:SpreadsheetGear.IRange.CopyFromDataTable(System.Data.DataTable,SpreadsheetGear.Data.SetDataFlags)">
      <summary>
            Copies the specified <b>DataTable</b> to this range.
            </summary>
      <param name="dataTable">Specifies the source <b>DataTable</b>.</param>
      <param name="flags">Specifies options including All Text values, No Column Headers and Insert Cells.</param>
      <remarks>
        <para>
            If this range is a single column, the destination range will be expanded to the
            number of columns in the <b>DataTable</b>.</para>
        <para>If this range is a single row, the destination will be expanded to the
            number of rows in the <b>DataTable</b>, plus one row for the column headers if needed.
            </para>
        <para>Note that you must specify a single data row and allow the destination size to be determined
            automatically if you use <see cref="F:SpreadsheetGear.Data.SetDataFlags.WrapToNewWorksheet" /> to
            enable wrapping rows to the next worksheet if they do not fit on the current worksheet.</para>
        <para>
          <b>Using Formats and Formulas</b>
          <br />
            To preformat a range and have formulas refer to columns in the range, specify the
            <b>SpreadsheetGear.Data.SetDataFlags.InsertCells</b> flag. When specifying this flag,
            you must provide a range with exactly two rows for data, preceded by a row for
            column headers if <b>SpreadsheetGear.Data.SetDataFlags.NoColumnHeaders</b> is not specified.
            </para>
        <para>
            Specifying this flag instructs SpreadsheetGear to insert or delete rows as
            needed to accommodate the number of rows in the source DataTable, and to copy down values 
            or formulas in extra columns which enables "calculated columns". This allows the cells to
            be preformatted and allows formulas to reference cells within the destination range. If
            the DataTable contains no rows, both data rows will be deleted and any formula references
            to these cells will be changed to #REF!. Otherwise, formulas referring to cells in the second initial
            row will be fixed up to refer to the last row of data inserted into the worksheet.
            </para>
        <para>
          <b>DataTable Column Names to Range Column Headers</b>
          <br />
            By default, column names are copied to the first row in the specified range. To disable this
            functionality, specify <b>SpreadsheetGear.Data.SetDataFlags.NoColumnHeaders</b>.
            </para>
        <para>
          <b>Forcing Some or All Values to Text</b>
          <br />
            Normally, an attempt is made to parse values as they are placed into cells. To force all
            values to be entered into cells as text, specify the <b>SpreadsheetGear.Data.SetDataFlags.AllText</b>
            flag. To force only specific columns to be placed into cells as text, use the <b>SpreadsheetGear.Data.SetDataFlags.InsertCells</b>
            flag which enables you to preformat these columns as text cells (IRange.NumberFormat = "@").
            </para>
      </remarks>
      <example>
            See <b>DataSet to Excel Workbook with Formats and Formulas</b> in the
            <a href="http://www.spreadsheetgear.com/support/samples/excel.aspx"><b>Excel Reporting</b></a> Samples
            and <b>DataTable to Excel Workbook with Formats and Formulas</b> in the
            <a href="http://www.spreadsheetgear.com/support/samples/datagrid.aspx">Excel to DataGrid</a>
            Samples for examples of using <b>CopyFromDataTable</b>.
            </example>
      <seealso cref="T:SpreadsheetGear.Data.SetDataFlags" />
      <seealso cref="M:SpreadsheetGear.IRange.GetDataTable(SpreadsheetGear.Data.GetDataFlags)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.CopyRight">
      <summary>
            Copies values, formulas and formats in the left column of the range to subsequent columns.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange,SpreadsheetGear.PasteType,SpreadsheetGear.PasteOperation,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IRange.FillDown" />
      <seealso cref="M:SpreadsheetGear.IRange.FillLeft" />
      <seealso cref="M:SpreadsheetGear.IRange.FillRight" />
      <seealso cref="M:SpreadsheetGear.IRange.FillUp" />
      <remarks>NOTE: This method is obsolete. Use the <see cref="M:SpreadsheetGear.IRange.FillRight" /> method.</remarks>
    </member>
    <member name="M:SpreadsheetGear.IRange.DataSeries(System.Boolean,SpreadsheetGear.DataSeriesType,SpreadsheetGear.DataSeriesDate,System.Double,System.Double,System.Boolean)">
      <summary>
            Fill this range with a data series based on the specified type and options.
            </summary>
      <param name="fillDown">Specifies that this method should fill down if true or fill across if false.</param>
      <param name="type">Specifies the type of fill to perform.</param>
      <param name="date">Specifies the type of date operation to be performed when DataSeriesType.Chronological is used.</param>
      <param name="step">Specifies the amount to increment by.</param>
      <param name="stop">Specifies the value to stop at; use double.PositiveInfinity to fill the entire range.</param>
      <param name="trend">Specifies that the existing data should be analysed and new data generated from the resulting curve if true, or that a standard fill should be performed if false.</param>
    </member>
    <member name="M:SpreadsheetGear.IRange.Delete">
      <summary>
            Deletes cells, rows or columns, shifting remaining cells left or up and fixing up formulas.
            </summary>
      <remarks>Must be performed on entire row(s), entire column(s) or an entire worksheet.</remarks>
      <seealso cref="M:SpreadsheetGear.IRange.Delete(SpreadsheetGear.DeleteShiftDirection)" />
      <seealso cref="M:SpreadsheetGear.IRange.Insert" />
      <seealso cref="M:SpreadsheetGear.IRange.Insert(SpreadsheetGear.InsertShiftDirection)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Delete(SpreadsheetGear.DeleteShiftDirection)">
      <summary>
            Deletes cells, rows or columns, shifting remaining cells left or up and fixing up formulas.
            </summary>
      <param name="shiftDirection">Specifies whether to shift cells left or up to relace the deleted cells.</param>
      <seealso cref="T:SpreadsheetGear.DeleteShiftDirection" />
      <seealso cref="M:SpreadsheetGear.IRange.Delete" />
      <seealso cref="M:SpreadsheetGear.IRange.Insert" />
      <seealso cref="M:SpreadsheetGear.IRange.Insert(SpreadsheetGear.InsertShiftDirection)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.FillDown">
      <summary>
            Copies from the top row of this range to the remaining rows.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange,SpreadsheetGear.PasteType,SpreadsheetGear.PasteOperation,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IRange.FillLeft" />
      <seealso cref="M:SpreadsheetGear.IRange.FillRight" />
      <seealso cref="M:SpreadsheetGear.IRange.FillUp" />
    </member>
    <member name="M:SpreadsheetGear.IRange.FillLeft">
      <summary>
            Copies from the right column of this range to the preceding columns.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange,SpreadsheetGear.PasteType,SpreadsheetGear.PasteOperation,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IRange.FillDown" />
      <seealso cref="M:SpreadsheetGear.IRange.FillRight" />
      <seealso cref="M:SpreadsheetGear.IRange.FillUp" />
    </member>
    <member name="M:SpreadsheetGear.IRange.FillRight">
      <summary>
            Copies from the left column of this range to the remaining columns.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange,SpreadsheetGear.PasteType,SpreadsheetGear.PasteOperation,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IRange.FillDown" />
      <seealso cref="M:SpreadsheetGear.IRange.FillLeft" />
      <seealso cref="M:SpreadsheetGear.IRange.FillUp" />
    </member>
    <member name="M:SpreadsheetGear.IRange.FillUp">
      <summary>
            Copies from the bottom row of this range to the preceding rows.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Copy(SpreadsheetGear.IRange,SpreadsheetGear.PasteType,SpreadsheetGear.PasteOperation,System.Boolean,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IRange.FillDown" />
      <seealso cref="M:SpreadsheetGear.IRange.FillLeft" />
      <seealso cref="M:SpreadsheetGear.IRange.FillRight" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Find(System.String,SpreadsheetGear.IRange,SpreadsheetGear.FindLookIn,SpreadsheetGear.LookAt,SpreadsheetGear.SearchOrder,SpreadsheetGear.SearchDirection,System.Boolean)">
      <summary>
            Searches for the specified text according to the specified options, and returns an <strong>IRange</strong> 
            representing the found cell or <strong>null</strong> if no cell is found.
            </summary>
      <param name="what">Specifies the text to find.</param>
      <param name="after">Specifies the cell to start after within this range, or null to start after the top-left cell of this range.</param>
      <param name="lookIn">Specifies whether to search formulas or values.</param>
      <param name="lookAt">Specifies partial or complete match.</param>
      <param name="searchOrder">Specifies whether to search by rows or by columns.</param>
      <param name="searchDirection">Specifies whether to search forward (next) or backwards (previous).</param>
      <param name="matchCase">Specifies whether text searches should match case.</param>
      <returns>Returns the next or previous cell which meets the specified criteria, or <strong>null</strong> if no cell is found.</returns>
      <seealso cref="M:SpreadsheetGear.IRange.Replace(System.String,System.String,SpreadsheetGear.LookAt,SpreadsheetGear.SearchOrder,System.Boolean)" />
      <seealso cref="T:SpreadsheetGear.FindLookIn" />
      <seealso cref="T:SpreadsheetGear.LookAt" />
      <seealso cref="T:SpreadsheetGear.SearchOrder" />
      <seealso cref="T:SpreadsheetGear.SearchDirection" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Replace(System.String,System.String,SpreadsheetGear.LookAt,SpreadsheetGear.SearchOrder,System.Boolean)">
      <summary>
            Attempts to replace the specified text according to the specified options, returning the number of replacements
            if successful or zero if not successful.
            </summary>
      <param name="what">Specifies the text to to find.</param>
      <param name="replacement">Specifies the replacement text.</param>
      <param name="lookAt">Specifies partial or complete match.</param>
      <param name="searchOrder">Specifies whether to search by rows or by columns.</param>
      <param name="matchCase">Specifies whether text searches should match case.</param>
      <returns>Returns the number of replacements if successful or zero if not successful.</returns>
      <remarks>Locked cells in a protected worksheet will be ignored.</remarks>
      <remarks>
            Array formulas will be ignored in cells other than the top-left cell
            of the array formula range. Replacing the formula in the top-left cell
            of the array formula range will modify all formulas in the array formula range.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IRange.Find(System.String,SpreadsheetGear.IRange,SpreadsheetGear.FindLookIn,SpreadsheetGear.LookAt,SpreadsheetGear.SearchOrder,SpreadsheetGear.SearchDirection,System.Boolean)" />
      <seealso cref="T:SpreadsheetGear.LookAt" />
      <seealso cref="T:SpreadsheetGear.SearchOrder" />
    </member>
    <member name="M:SpreadsheetGear.IRange.GetAddress(System.Boolean,System.Boolean,SpreadsheetGear.ReferenceStyle,System.Boolean,SpreadsheetGear.IRange)">
      <summary>
            Returns a string representing the address of the range.
            </summary>
      <param name="rowAbsolute">True if the row should be treated as an absolute reference, false otherwise.</param>
      <param name="colAbsolute">True if the column should be treated as an absolute reference, false otherwise.</param>
      <param name="referenceStyle">Specfies whether A1 style or R1C1 style should be used.</param>
      <param name="external">True if the workbook and worksheet should be included in the address, false otherwise.</param>
      <param name="relativeTo">Represents the cell which this range is relative to. This parameter is unused for A1 style. It may be null to indicate relative to the top-left cell (A1).</param>
      <returns>The string representing the address of the range.</returns>
    </member>
    <member name="M:SpreadsheetGear.IRange.GetArea(System.Int32)">
      <summary>
            Returns the zero based instance of <strong>IRange</strong> specified by <em>index</em>.
            </summary>
      <param name="index">Specifies the zero based index of the <strong>IRange</strong> to return.</param>
      <remarks>
        <strong>IRange.AreaCount</strong> and <strong>IRange.GetArea(int index)</strong> provide the
            same functionality as <strong>IRange.Areas.Count</strong> and <strong>IRange.Areas[int index]</strong>
            without the overhead of creating an instance of <strong>IAreas</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.AreaCount" />
      <seealso cref="P:SpreadsheetGear.IRange.Areas" />
    </member>
    <member name="M:SpreadsheetGear.IRange.GetCharacters(System.Int32,System.Int32)">
      <summary>
            Returns an instance of <strong>ICharacters</strong> which represents a
            range of characters belonging to a text cell.
            </summary>
      <returns>An instance of <strong>ICharacters</strong> which represents a
            range of characters belonging to a text cell.</returns>
      <remarks>Use this method to richly format the text in a cell with multiple fonts.</remarks>
      <param name="start">The zero based starting character.</param>
      <param name="length">The number of characters.</param>
    </member>
    <member name="M:SpreadsheetGear.IRange.GetDataTable(SpreadsheetGear.Data.GetDataFlags)">
      <summary>
            Returns a newly created data table from the cells referred to by this <strong>IRange</strong>.
            </summary>
      <param name="flags">Specifies optional features such as column headers and formatted text values.</param>
      <returns>A data table for the cells referred to by the current <strong>IRange</strong>.</returns>
      <example>
            See live <b>DataTable</b> examples on the live
            <a href="http://www.spreadsheetgear.com/support/samples/datagrid.aspx"><b>.NET DataGrid</b>`</a> Samples page.
            </example>
      <seealso cref="T:SpreadsheetGear.Data.GetDataFlags" />
      <seealso cref="M:SpreadsheetGear.IRange.GetDataSet(SpreadsheetGear.Data.GetDataFlags)" />
      <seealso cref="M:SpreadsheetGear.IRange.CopyFromDataTable(System.Data.DataTable,SpreadsheetGear.Data.SetDataFlags)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.GetDataSet(SpreadsheetGear.Data.GetDataFlags)">
      <summary>
            Returns a newly created data set from the cells referred to by this <strong>IRange</strong>.
            </summary>
      <param name="flags">Specifies optional features such as column headers and formatted text values.</param>
      <returns>A data set for the cells referred to by the current <strong>IRange</strong>.</returns>
      <remarks>
            One data table is returned in the data set for each range specified by the current <strong>IRange</strong>.
            </remarks>
      <example>
            See live DataSet examples on the live
            <a href="http://www.spreadsheetgear.com/support/samples/datagrid.aspx"><b>.NET DataGrid</b></a> Samples page.
            </example>
      <seealso cref="T:SpreadsheetGear.Data.GetDataFlags" />
      <seealso cref="M:SpreadsheetGear.IRange.GetDataTable(SpreadsheetGear.Data.GetDataFlags)" />
      <seealso cref="M:SpreadsheetGear.IRange.CopyFromDataTable(System.Data.DataTable,SpreadsheetGear.Data.SetDataFlags)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.GoalSeek(System.Double,SpreadsheetGear.IRange)">
      <summary>
            Attempts to achieve the specified goal, from the calculated result of the formula
            in the cell represented by this IRange, by modifying the specified changingCell using a
            simple iterative linear search.
            </summary>
      <returns>true if the desired goal is achieved or false if the goal is not achieved.</returns>
      <remarks>
        <para>
                    This <strong>GoalSeek</strong> method uses a simple iterative linear search for
                    a value which, when placed in the cell specified by
                    <strong>changingCell</strong>, yields a calculated result very close to the
                    specified <strong>goal</strong> from the formula in the cell represented by
                    this <see cref="T:SpreadsheetGear.IRange" />.
                </para>
        <para>The cell represented by this <strong>IRange</strong> should contain a formula
                which is directly or indirectly dependant on the cell specified by
                <strong>changingCell</strong>.</para>
        <para>The cell specified by <strong>changingCell</strong> will contain the value
                used to achieve the desired goal if this method is successful.</para>
      </remarks>
      <param name="goal">Specifies the desired goal from the calculated result of the formula in the cell represented by this IRange.</param>
      <param name="changingCell">Specifies the cell to change.</param>
    </member>
    <member name="M:SpreadsheetGear.IRange.Group">
      <summary>
            Increments the <strong>OutlineLevel</strong> of the specified rows or columns.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Ungroup" />
      <seealso cref="P:SpreadsheetGear.IRange.OutlineLevel" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Insert">
      <summary>
             Inserts rows or columns by shifting rows down or columns right and fixing up formulas and formats.
             </summary>
      <remarks>Must be performed on entire row(s) or entire column(s).</remarks>
      <example>
        <code lang="CS">
             using System; using DevTeam;
             using SpreadsheetGear;
             using SG.Diagnostics;
             
             namespace SpreadsheetGear.InsertExample
             {
                 class Program
                 {
                     static void Main()
                     {
                         // Create a workbook.
                         IWorkbook workbook = Factory.GetWorkbook();
                         IWorksheet worksheet = workbook.Worksheets[0];
                         IRange cells = worksheet.Cells;
             
                         // Set some text in A1:B2.
                         cells["A1"].Formula = "A1";
                         cells["A2"].Formula = "A2";
                         cells["B1"].Formula = "B1";
                         cells["B2"].Formula = "B2";
             
                         // Insert two rows before row 2.
                         cells["2:3"].Insert();
             
                         // Insert three columns before column 'B'.
                         cells["B:D"].Insert();
             
                         // Verify new locations - A1 has not moved.
                         Debug.Assert(cells["A1"].Formula.Equals("A1"));
                         // A2 has been moved down two rows.
                         Debug.Assert(cells["A4"].Formula.Equals("A2"));
                         // B1 has been moved right three columns.
                         Debug.Assert(cells["E1"].Formula.Equals("B1"));
                         // B2 has been moved down two rows and right three columns.
                         Debug.Assert(cells["E4"].Formula.Equals("B2"));
             
                         // Insert one cell before E4 shifting E4 down to E5.
                         cells["E4"].Insert(InsertShiftDirection.Down);
                         Debug.Assert(cells["E5"].Formula.Equals("B2"));
             
                         // Insert one cell before E5 shifting E5 right to F5.
                         cells["E5"].Insert(InsertShiftDirection.Right);
                         Debug.Assert(cells["F5"].Formula.Equals("B2"));
                     }
                 }
             }
                 </code>
        <code lang="VB">
             Imports System
             Imports SpreadsheetGear
             Imports System.Diagnostics
             
             
             Namespace SpreadsheetGear.InsertExample
            
                 Class Program
             
                     Shared Sub Main()
                         ' Create a workbook.
                         Dim workbook As IWorkbook = Factory.GetWorkbook()
                         Dim worksheet As IWorksheet = workbook.Worksheets(0)
                         Dim cells As IRange = worksheet.Cells
             
                         ' Set some text in A1:B2.
                         cells("A1").Formula = "A1"
                         cells("A2").Formula = "A2"
                         cells("B1").Formula = "B1"
                         cells("B2").Formula = "B2"
             
                         ' Insert two rows before row 2.
                         cells("2:3").Insert()
             
                         ' Insert three columns before column 'B'.
                         cells("B:D").Insert()
             
                         ' Verify new locations - A1 has not moved.
                         Debug.Assert(cells("A1").Formula.Equals("A1"))
                         ' A2 has been moved down two rows.
                         Debug.Assert(cells("A4").Formula.Equals("A2"))
                         ' B1 has been moved right three columns.
                         Debug.Assert(cells("E1").Formula.Equals("B1"))
                         ' B2 has been moved down two rows and right three columns.
                         Debug.Assert(cells("E4").Formula.Equals("B2"))
             
                         ' Insert one cell before E4 shifting E4 down to E5.
                         cells("E4").Insert(InsertShiftDirection.Down)
                         Debug.Assert(cells("E5").Formula.Equals("B2"))
             
                         ' Insert one cell before E5 shifting E5 right to F5.
                         cells("E5").Insert(InsertShiftDirection.Right)
                         Debug.Assert(cells("F5").Formula.Equals("B2"))
                     End Sub 'Main
                 End Class 'Program
             End Namespace 'SpreadsheetGear.InsertExample
                 </code>
      </example>
      <seealso cref="M:SpreadsheetGear.IRange.Delete" />
      <seealso cref="M:SpreadsheetGear.IRange.Delete(SpreadsheetGear.DeleteShiftDirection)" />
      <seealso cref="M:SpreadsheetGear.IRange.Insert(SpreadsheetGear.InsertShiftDirection)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Insert(SpreadsheetGear.InsertShiftDirection)">
      <summary>
             Inserts cells, rows or columns by shifting cells right or down and fixing up formulas and formats.
             </summary>
      <param name="shiftDirection">Specifies whether to shift cells right or down.</param>
      <example>
        <code lang="CS">
             using System; using DevTeam;
             using SpreadsheetGear;
             using SG.Diagnostics;
             
             namespace SpreadsheetGear.InsertExample
             {
                 class Program
                 {
                     static void Main()
                     {
                         // Create a workbook.
                         IWorkbook workbook = Factory.GetWorkbook();
                         IWorksheet worksheet = workbook.Worksheets[0];
                         IRange cells = worksheet.Cells;
             
                         // Set some text in A1:B2.
                         cells["A1"].Formula = "A1";
                         cells["A2"].Formula = "A2";
                         cells["B1"].Formula = "B1";
                         cells["B2"].Formula = "B2";
             
                         // Insert two rows before row 2.
                         cells["2:3"].Insert();
             
                         // Insert three columns before column 'B'.
                         cells["B:D"].Insert();
             
                         // Verify new locations - A1 has not moved.
                         Debug.Assert(cells["A1"].Formula.Equals("A1"));
                         // A2 has been moved down two rows.
                         Debug.Assert(cells["A4"].Formula.Equals("A2"));
                         // B1 has been moved right three columns.
                         Debug.Assert(cells["E1"].Formula.Equals("B1"));
                         // B2 has been moved down two rows and right three columns.
                         Debug.Assert(cells["E4"].Formula.Equals("B2"));
             
                         // Insert one cell before E4 shifting E4 down to E5.
                         cells["E4"].Insert(InsertShiftDirection.Down);
                         Debug.Assert(cells["E5"].Formula.Equals("B2"));
             
                         // Insert one cell before E5 shifting E5 right to F5.
                         cells["E5"].Insert(InsertShiftDirection.Right);
                         Debug.Assert(cells["F5"].Formula.Equals("B2"));
                     }
                 }
             }
                 </code>
        <code lang="VB">
             Imports System
             Imports SpreadsheetGear
             Imports System.Diagnostics
             
             
             Namespace SpreadsheetGear.InsertExample
            
                 Class Program
             
                     Shared Sub Main()
                         ' Create a workbook.
                         Dim workbook As IWorkbook = Factory.GetWorkbook()
                         Dim worksheet As IWorksheet = workbook.Worksheets(0)
                         Dim cells As IRange = worksheet.Cells
             
                         ' Set some text in A1:B2.
                         cells("A1").Formula = "A1"
                         cells("A2").Formula = "A2"
                         cells("B1").Formula = "B1"
                         cells("B2").Formula = "B2"
             
                         ' Insert two rows before row 2.
                         cells("2:3").Insert()
             
                         ' Insert three columns before column 'B'.
                         cells("B:D").Insert()
             
                         ' Verify new locations - A1 has not moved.
                         Debug.Assert(cells("A1").Formula.Equals("A1"))
                         ' A2 has been moved down two rows.
                         Debug.Assert(cells("A4").Formula.Equals("A2"))
                         ' B1 has been moved right three columns.
                         Debug.Assert(cells("E1").Formula.Equals("B1"))
                         ' B2 has been moved down two rows and right three columns.
                         Debug.Assert(cells("E4").Formula.Equals("B2"))
             
                         ' Insert one cell before E4 shifting E4 down to E5.
                         cells("E4").Insert(InsertShiftDirection.Down)
                         Debug.Assert(cells("E5").Formula.Equals("B2"))
             
                         ' Insert one cell before E5 shifting E5 right to F5.
                         cells("E5").Insert(InsertShiftDirection.Right)
                         Debug.Assert(cells("F5").Formula.Equals("B2"))
                     End Sub 'Main
                 End Class 'Program
             End Namespace 'SpreadsheetGear.InsertExample
                 </code>
      </example>
      <seealso cref="M:SpreadsheetGear.IRange.Delete" />
      <seealso cref="M:SpreadsheetGear.IRange.Delete(SpreadsheetGear.DeleteShiftDirection)" />
      <seealso cref="M:SpreadsheetGear.IRange.Insert" />
      <seealso cref="T:SpreadsheetGear.InsertShiftDirection" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Intersect(SpreadsheetGear.IRange)">
      <summary>
            Returns a new range which consists of the intersection of this range and <strong>range2</strong>, or <strong>null</strong> if the ranges do not intersect.
            </summary>
      <returns>A new range consisting of the intersection of this range and <strong>range2</strong>, or <strong>null</strong> if the ranges do not intersect.</returns>
      <seealso cref="M:SpreadsheetGear.IRange.Subtract(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Union(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Offset(System.Int32,System.Int32)" />
      <example>
        <code lang="CS">
            public void RangeIntersectUnionSubtract()
            {
                // Create a workbook to play with.
                IWorkbook workbook = Factory.GetWorkbook();
                IWorksheet worksheet = workbook.Worksheets[0];
                IRange cells = worksheet.Cells;
             
                // Create some ranges.
                IRange a1 = cells["A1"];
                IRange a1_b3 = cells["A1:B3"];
                IRange b3_d4 = cells["B3:D4"];
             
                // A variable to hold results.
                IRange range;
             
                // A1 does not intersect with B3:D4
                range = a1.Intersect(b3_d4);
                Debug.Assert(range == null);
             
                // Subtracting B3:D4 from A1 does not change A1.
                range = a1.Subtract(b3_d4);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1"));
             
                // The union of A1 and B3:D4 is "A1,B3:D4".
                range = a1.Union(b3_d4);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1,$B$3:$D$4"));
             
                // B3:D4 does not intersect with A1.
                range = b3_d4.Intersect(a1);
                Debug.Assert(range == null);
             
                // Subtracting A1 from B3:D4 does not change B3:D4.
                range = b3_d4.Subtract(a1);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$B$3:$D$4"));
             
                // The union of B3:D4 and A1 is "A1,B3:D4".
                range = b3_d4.Union(a1);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1,$B$3:$D$4"));
             
                // The intersection of B3:D4 and A1:B3 is B3
                range = b3_d4.Intersect(a1_b3);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$B$3"));
             
                // Subtracting A1:B3 from B3:D4 leaves "C3:D3,B4:D4".
                range = b3_d4.Subtract(a1_b3);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$C$3:$D$3,$B$4:$D$4"));
             
                // The union of B3:D4 and A1:B3 is "A1:B2,A3:D3,B4:D4".
                range = b3_d4.Union(a1_b3);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1:$B$2,$A$3:$D$3,$B$4:$D$4"));
             
                // The intersection of "A1,B1,A2,B2" and "A1:B1,A2:B2" is A1:B2.
                range = cells["A1,B1,A2,B2"].Intersect(cells["A1:B1,A2:B2"]);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1:$B$2"));
            }
                </code>
        <code lang="VB">
            Public Sub RangeIntersectUnionSubtract()
                ' Create a workbook to play with.
                Dim workbook As IWorkbook = Factory.GetWorkbook()
                Dim worksheet As IWorksheet = workbook.Worksheets(0)
                Dim cells As IRange = worksheet.Cells
             
                ' Create some ranges.
                Dim a1 As IRange = cells("A1")
                Dim a1_b3 As IRange = cells("A1:B3")
                Dim b3_d4 As IRange = cells("B3:D4")
             
                ' A variable to hold results.
                Dim range As IRange
             
                ' A1 does not intersect with B3:D4
                range = a1.Intersect(b3_d4)
                Debug.Assert(range Is Nothing)
             
                ' Subtracting B3:D4 from A1 does not change A1.
                range = a1.Subtract(b3_d4)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1"))
             
                ' The union of A1 and B3:D4 is "A1,B3:D4".
                range = a1.Union(b3_d4)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1,$B$3:$D$4"))
             
                ' B3:D4 does not intersect with A1.
                range = b3_d4.Intersect(a1)
                Debug.Assert(range Is Nothing)
             
                ' Subtracting A1 from B3:D4 does not change B3:D4.
                range = b3_d4.Subtract(a1)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$B$3:$D$4"))
             
                ' The union of B3:D4 and A1 is "A1,B3:D4".
                range = b3_d4.Union(a1)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1,$B$3:$D$4"))
             
                ' The intersection of B3:D4 and A1:B3 is B3
                range = b3_d4.Intersect(a1_b3)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$B$3"))
             
                ' Subtracting A1:B3 from B3:D4 leaves "C3:D3,B4:D4".
                range = b3_d4.Subtract(a1_b3)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$C$3:$D$3,$B$4:$D$4"))
             
                ' The union of B3:D4 and A1:B3 is "A1:B2,A3:D3,B4:D4".
                range = b3_d4.Union(a1_b3)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1:$B$2,$A$3:$D$3,$B$4:$D$4"))
             
                ' The intersection of "A1,B1,A2,B2" and "A1:B1,A2:B2" is A1:B2.
                range = cells("A1,B1,A2,B2").Intersect(cells("A1:B1,A2:B2"))
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1:$B$2"))
            End Sub
                </code>
      </example>
      <param name="range2">Specifies the range to intersect with this range.</param>
    </member>
    <member name="M:SpreadsheetGear.IRange.Merge">
      <summary>
            Merges the cells in the represented range into a single merged cell.
            </summary>
      <remarks>
            If any cell other than the top-left cell of the specified range contains
            data and/or formatting, this data and/or formatting will be lost.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IRange.UnMerge" />
      <seealso cref="P:SpreadsheetGear.IRange.MergeArea" />
      <seealso cref="P:SpreadsheetGear.IRange.MergeCells" />
      <seealso cref="P:SpreadsheetGear.IRange.EntireMergeArea" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Offset(System.Int32,System.Int32)">
      <summary>
            Returns a copy of the current <strong>IRange</strong> which is offset
            by the specified number of rows and columns.
            </summary>
      <param name="rowOffset">The number of rows to offset by (may be negative).</param>
      <param name="columnOffset">The number of columns to offset by (may be negative).</param>
      <returns>A copy of the current <strong>IRange</strong> which is offset
            by the specified number of rows and columns.</returns>
      <seealso cref="M:SpreadsheetGear.IRange.Intersect(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Subtract(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Union(SpreadsheetGear.IRange)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.SaveAs(System.String,SpreadsheetGear.FileFormat)">
      <summary>
            Saves this range using the specified filename and <strong>FileFormat</strong>,
            and updates the <strong>FullName</strong> property.
            </summary>
      <remarks>
            Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.SaveToMemory(SpreadsheetGear.FileFormat)">
      <summary>
            Saves this range to a newly created memory buffer in the specified <strong>FileFormat</strong>.
            </summary>
      <returns>The memory buffer with the saved range.</returns>
      <remarks>
            Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)">
      <summary>
            Saves this range to a stream in the specified <strong>FileFormat</strong>.
            </summary>
      <param name="stream">The stream to write the range to.</param>
      <param name="fileFormat">The file format to save the range in.</param>
      <remarks>
        <para>Note that the various workbook settings which make a workbook read-only
            in an end user workbookSet have no affect at this level.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Select">
      <summary>
            Sets the current selection of the worksheet associated with the this
            range to the cells in this range.
            </summary>
      <remarks>The active cell is also set to the top-left cell of this range.</remarks>
      <seealso cref="M:SpreadsheetGear.IRange.Activate" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCell" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCellAreaIndex" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.RangeSelection" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.SetSelection(SpreadsheetGear.IRange,SpreadsheetGear.IRange,System.Int32)" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Sort(SpreadsheetGear.SortOrientation,System.Boolean,SpreadsheetGear.SortKey[])">
      <summary>
            Sorts the cells represented by this range according to the specified options.
            </summary>
      <example>
                Demonstrate sorting from top to bottom with 2 keys.
                <code lang="CS"><![CDATA[
            /// <SUMMARY>
            /// Demonstrate sorting from top to bottom with 2 keys.
            /// </SUMMARY>
            static void Sort()
            {
             // Create a workbook.
             IWorkbook workbook = Factory.GetWorkbook();
             
            // Get the first worksheet and name it.
             IWorksheet worksheet = workbook.Worksheets[0];
             worksheet.Name = "Sorted by Sales then Product";
             
            // Get a reference to a range of cells.
             SpreadsheetGear.IRange range = worksheet.Cells["A1:B8"];
             
            // Load products in no particular order.
             range[0, 0].Formula = "Oregano";
             range[1, 0].Formula = "Marjoram";
             range[2, 0].Formula = "Basil";
             range[3, 0].Formula = "Rosemary";
             range[4, 0].Formula = "Thyme";
             range[5, 0].Formula = "Black Pepper";
             range[6, 0].Formula = "Garlic Powder";
             range[7, 0].Formula = "Chili Powder";
             
            // Load random data and format as $ using multiple cell range.
             SpreadsheetGear.IRange body = range[0, 1, 7, 1];
             body.Formula = "=ROUND(RAND() * 5000, -3)";
             body.NumberFormat = "$#,##0_);($#,##0)";
             
            // Get rid of formulas...
             body.Value = body.Value;
             
            // Set up the first sort key with a key index of one representing the second
             // column (random $ amounts) in the range, descending sort order, and the
             // normal data option.
             SpreadsheetGear.SortKey sortKey1 = new SpreadsheetGear.SortKey(
             1, SpreadsheetGear.SortOrder.Descending, SpreadsheetGear.SortDataOption.Normal);
             
            // Set up the second sort key with a key index of zero representing the first
             // column (products) in the range, ascending sort order, and the normal data option.
             //
             // This sort key will be used when the values in the first sort key are equal.
             SpreadsheetGear.SortKey sortKey2 = new SpreadsheetGear.SortKey(
             0, SpreadsheetGear.SortOrder.Ascending, SpreadsheetGear.SortDataOption.Normal);
             
            // Sort the range by rows, ignoring case, passing the sort key.
             // NOTE: Any number of sort keys may be passed to the Sort method.
             range.Sort(SpreadsheetGear.SortOrientation.Rows, false, sortKey1, sortKey2);
             
            // AutoFit the range.
             range.Columns.AutoFit();
             
            // Save the workbook.
             workbook.SaveAs(@"C:\SortedBySalesThenProduct.xlsx", FileFormat.OpenXMLWorkbook);
            }]]></code><code lang="VB"><![CDATA[
            '/ <SUMMARY>
            '/ Demonstrate sorting from top to bottom with 2 keys. 
            '/ </SUMMARY>
            Private Shared Sub Sort()
             ' Create a workbook. 
            Dim workbook As IWorkbook = Factory.GetWorkbook()
             
            ' Get the first worksheet and name it. 
            Dim worksheet As IWorksheet = workbook.Worksheets(0)
             worksheet.Name = "Sorted by Sales then Product"
             
            ' Get a reference to a range of cells. 
            Dim range As SpreadsheetGear.IRange = worksheet.Cells("A1:B8")
             
            ' Load products in no particular order. 
            range(0, 0).Formula = "Oregano"
             range(1, 0).Formula = "Marjoram"
             range(2, 0).Formula = "Basil"
             range(3, 0).Formula = "Rosemary"
             range(4, 0).Formula = "Thyme"
             range(5, 0).Formula = "Black Pepper"
             range(6, 0).Formula = "Garlic Powder"
             range(7, 0).Formula = "Chili Powder"
             
            ' Load random data and format as $ using multiple cell range. 
            Dim body As SpreadsheetGear.IRange = range(0, 1, 7, 1)
             body.Formula = "=ROUND(RAND() * 5000, -3)"
             body.NumberFormat = "$#,##0_);($#,##0)"
             
            ' Get rid of formulas... 
            body.Value = body.Value
             
            ' Set up the first sort key with a key index of one representing the second 
            ' column (random $ amounts) in the range, descending sort order, and the 
            ' normal data option. 
            Dim sortKey1 As New SpreadsheetGear.SortKey(1, SpreadsheetGear.SortOrder.Descending, SpreadsheetGear.SortDataOption.Normal)
             
            ' Set up the second sort key with a key index of zero representing the first 
            ' column (products) in the range, ascending sort order, and the normal data option. 
            ' 
            ' This sort key will be used when the values in the first sort key are equal. 
            Dim sortKey2 As New SpreadsheetGear.SortKey(0, SpreadsheetGear.SortOrder.Ascending, SpreadsheetGear.SortDataOption.Normal)
             
            ' Sort the range by rows, ignoring case, passing the sort key. 
            ' NOTE: Any number of sort keys may be passed to the Sort method. 
            range.Sort(SpreadsheetGear.SortOrientation.Rows, False, sortKey1, sortKey2)
             
            ' AutoFit the range. 
            range.Columns.AutoFit()
             
            ' Save the workbook. 
            workbook.SaveAs("C:\SortedBySalesThenProduct.xlsx", FileFormat.OpenXMLWorkbook)
             End Sub]]></code></example>
      <param name="orientation">Specifies whether to sort rows or columns.</param>
      <param name="caseSensitive">Specifies whether sorting should be case sensitive.</param>
      <param name="keys">Specifies an array of sort keys.</param>
    </member>
    <member name="M:SpreadsheetGear.IRange.Subtract(SpreadsheetGear.IRange)">
      <summary>
            Returns a new range which consists of this range with <strong>range2</strong> removed, or <strong>null</strong> if the resulting range is empty.
            </summary>
      <returns>A new range consisting of this range with <strong>range2</strong> removed, or <strong>null</strong> if the resulting range is empty.</returns>
      <seealso cref="M:SpreadsheetGear.IRange.Intersect(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Union(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Offset(System.Int32,System.Int32)" />
      <example>
        <code lang="CS">
            public void RangeIntersectUnionSubtract()
            {
                // Create a workbook to play with.
                IWorkbook workbook = Factory.GetWorkbook();
                IWorksheet worksheet = workbook.Worksheets[0];
                IRange cells = worksheet.Cells;
             
                // Create some ranges.
                IRange a1 = cells["A1"];
                IRange a1_b3 = cells["A1:B3"];
                IRange b3_d4 = cells["B3:D4"];
             
                // A variable to hold results.
                IRange range;
             
                // A1 does not intersect with B3:D4
                range = a1.Intersect(b3_d4);
                Debug.Assert(range == null);
             
                // Subtracting B3:D4 from A1 does not change A1.
                range = a1.Subtract(b3_d4);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1"));
             
                // The union of A1 and B3:D4 is "A1,B3:D4".
                range = a1.Union(b3_d4);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1,$B$3:$D$4"));
             
                // B3:D4 does not intersect with A1.
                range = b3_d4.Intersect(a1);
                Debug.Assert(range == null);
             
                // Subtracting A1 from B3:D4 does not change B3:D4.
                range = b3_d4.Subtract(a1);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$B$3:$D$4"));
             
                // The union of B3:D4 and A1 is "A1,B3:D4".
                range = b3_d4.Union(a1);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1,$B$3:$D$4"));
             
                // The intersection of B3:D4 and A1:B3 is B3
                range = b3_d4.Intersect(a1_b3);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$B$3"));
             
                // Subtracting A1:B3 from B3:D4 leaves "C3:D3,B4:D4".
                range = b3_d4.Subtract(a1_b3);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$C$3:$D$3,$B$4:$D$4"));
             
                // The union of B3:D4 and A1:B3 is "A1:B2,A3:D3,B4:D4".
                range = b3_d4.Union(a1_b3);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1:$B$2,$A$3:$D$3,$B$4:$D$4"));
             
                // The intersection of "A1,B1,A2,B2" and "A1:B1,A2:B2" is A1:B2.
                range = cells["A1,B1,A2,B2"].Intersect(cells["A1:B1,A2:B2"]);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1:$B$2"));
            }
                </code>
        <code lang="VB">
            Public Sub RangeIntersectUnionSubtract()
                ' Create a workbook to play with.
                Dim workbook As IWorkbook = Factory.GetWorkbook()
                Dim worksheet As IWorksheet = workbook.Worksheets(0)
                Dim cells As IRange = worksheet.Cells
             
                ' Create some ranges.
                Dim a1 As IRange = cells("A1")
                Dim a1_b3 As IRange = cells("A1:B3")
                Dim b3_d4 As IRange = cells("B3:D4")
             
                ' A variable to hold results.
                Dim range As IRange
             
                ' A1 does not intersect with B3:D4
                range = a1.Intersect(b3_d4)
                Debug.Assert(range Is Nothing)
             
                ' Subtracting B3:D4 from A1 does not change A1.
                range = a1.Subtract(b3_d4)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1"))
             
                ' The union of A1 and B3:D4 is "A1,B3:D4".
                range = a1.Union(b3_d4)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1,$B$3:$D$4"))
             
                ' B3:D4 does not intersect with A1.
                range = b3_d4.Intersect(a1)
                Debug.Assert(range Is Nothing)
             
                ' Subtracting A1 from B3:D4 does not change B3:D4.
                range = b3_d4.Subtract(a1)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$B$3:$D$4"))
             
                ' The union of B3:D4 and A1 is "A1,B3:D4".
                range = b3_d4.Union(a1)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1,$B$3:$D$4"))
             
                ' The intersection of B3:D4 and A1:B3 is B3
                range = b3_d4.Intersect(a1_b3)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$B$3"))
             
                ' Subtracting A1:B3 from B3:D4 leaves "C3:D3,B4:D4".
                range = b3_d4.Subtract(a1_b3)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$C$3:$D$3,$B$4:$D$4"))
             
                ' The union of B3:D4 and A1:B3 is "A1:B2,A3:D3,B4:D4".
                range = b3_d4.Union(a1_b3)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1:$B$2,$A$3:$D$3,$B$4:$D$4"))
             
                ' The intersection of "A1,B1,A2,B2" and "A1:B1,A2:B2" is A1:B2.
                range = cells("A1,B1,A2,B2").Intersect(cells("A1:B1,A2:B2"))
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1:$B$2"))
            End Sub
                </code>
      </example>
      <param name="range2">Specifies the range to subtract from this range.</param>
    </member>
    <member name="M:SpreadsheetGear.IRange.Table(SpreadsheetGear.IRange,SpreadsheetGear.IRange)">
      <summary>
            Sets up this range as a data table calculation range with the specified row input cell, column input cell or both.
            </summary>
      <param name="rowInput">Specifies the row input cell or <strong>null</strong> for no row input variable.</param>
      <param name="columnInput">Specifies the column input cell or <strong>null</strong> for no column input variable.</param>
      <remarks>At least one input cell must be specified.</remarks>
    </member>
    <member name="M:SpreadsheetGear.IRange.Ungroup">
      <summary>
            Decrements the <strong>OutlineLevel</strong> of the specified rows or columns.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Group" />
      <seealso cref="P:SpreadsheetGear.IRange.OutlineLevel" />
    </member>
    <member name="M:SpreadsheetGear.IRange.Union(SpreadsheetGear.IRange)">
      <summary>
            Returns a new range which consists of the union of this range and <strong>range2</strong>.
            </summary>
      <returns>A new range consisting of the union of this range and <strong>range2</strong>.</returns>
      <seealso cref="M:SpreadsheetGear.IRange.Intersect(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Subtract(SpreadsheetGear.IRange)" />
      <seealso cref="M:SpreadsheetGear.IRange.Offset(System.Int32,System.Int32)" />
      <example>
        <code lang="CS">
            public void RangeIntersectUnionSubtract()
            {
                // Create a workbook to play with.
                IWorkbook workbook = Factory.GetWorkbook();
                IWorksheet worksheet = workbook.Worksheets[0];
                IRange cells = worksheet.Cells;
             
                // Create some ranges.
                IRange a1 = cells["A1"];
                IRange a1_b3 = cells["A1:B3"];
                IRange b3_d4 = cells["B3:D4"];
             
                // A variable to hold results.
                IRange range;
             
                // A1 does not intersect with B3:D4
                range = a1.Intersect(b3_d4);
                Debug.Assert(range == null);
             
                // Subtracting B3:D4 from A1 does not change A1.
                range = a1.Subtract(b3_d4);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1"));
             
                // The union of A1 and B3:D4 is "A1,B3:D4".
                range = a1.Union(b3_d4);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1,$B$3:$D$4"));
             
                // B3:D4 does not intersect with A1.
                range = b3_d4.Intersect(a1);
                Debug.Assert(range == null);
             
                // Subtracting A1 from B3:D4 does not change B3:D4.
                range = b3_d4.Subtract(a1);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$B$3:$D$4"));
             
                // The union of B3:D4 and A1 is "A1,B3:D4".
                range = b3_d4.Union(a1);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1,$B$3:$D$4"));
             
                // The intersection of B3:D4 and A1:B3 is B3
                range = b3_d4.Intersect(a1_b3);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$B$3"));
             
                // Subtracting A1:B3 from B3:D4 leaves "C3:D3,B4:D4".
                range = b3_d4.Subtract(a1_b3);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$C$3:$D$3,$B$4:$D$4"));
             
                // The union of B3:D4 and A1:B3 is "A1:B2,A3:D3,B4:D4".
                range = b3_d4.Union(a1_b3);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1:$B$2,$A$3:$D$3,$B$4:$D$4"));
             
                // The intersection of "A1,B1,A2,B2" and "A1:B1,A2:B2" is A1:B2.
                range = cells["A1,B1,A2,B2"].Intersect(cells["A1:B1,A2:B2"]);
                Debug.Assert(range != null &amp;&amp; range.Address.Equals("$A$1:$B$2"));
            }
                </code>
        <code lang="VB">
            Public Sub RangeIntersectUnionSubtract()
                ' Create a workbook to play with.
                Dim workbook As IWorkbook = Factory.GetWorkbook()
                Dim worksheet As IWorksheet = workbook.Worksheets(0)
                Dim cells As IRange = worksheet.Cells
             
                ' Create some ranges.
                Dim a1 As IRange = cells("A1")
                Dim a1_b3 As IRange = cells("A1:B3")
                Dim b3_d4 As IRange = cells("B3:D4")
             
                ' A variable to hold results.
                Dim range As IRange
             
                ' A1 does not intersect with B3:D4
                range = a1.Intersect(b3_d4)
                Debug.Assert(range Is Nothing)
             
                ' Subtracting B3:D4 from A1 does not change A1.
                range = a1.Subtract(b3_d4)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1"))
             
                ' The union of A1 and B3:D4 is "A1,B3:D4".
                range = a1.Union(b3_d4)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1,$B$3:$D$4"))
             
                ' B3:D4 does not intersect with A1.
                range = b3_d4.Intersect(a1)
                Debug.Assert(range Is Nothing)
             
                ' Subtracting A1 from B3:D4 does not change B3:D4.
                range = b3_d4.Subtract(a1)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$B$3:$D$4"))
             
                ' The union of B3:D4 and A1 is "A1,B3:D4".
                range = b3_d4.Union(a1)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1,$B$3:$D$4"))
             
                ' The intersection of B3:D4 and A1:B3 is B3
                range = b3_d4.Intersect(a1_b3)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$B$3"))
             
                ' Subtracting A1:B3 from B3:D4 leaves "C3:D3,B4:D4".
                range = b3_d4.Subtract(a1_b3)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$C$3:$D$3,$B$4:$D$4"))
             
                ' The union of B3:D4 and A1:B3 is "A1:B2,A3:D3,B4:D4".
                range = b3_d4.Union(a1_b3)
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1:$B$2,$A$3:$D$3,$B$4:$D$4"))
             
                ' The intersection of "A1,B1,A2,B2" and "A1:B1,A2:B2" is A1:B2.
                range = cells("A1,B1,A2,B2").Intersect(cells("A1:B1,A2:B2"))
                Debug.Assert(Not (range Is Nothing) And range.Address.Equals("$A$1:$B$2"))
            End Sub
                </code>
      </example>
      <param name="range2">Specifies the range to add to this range.</param>
    </member>
    <member name="M:SpreadsheetGear.IRange.UnMerge">
      <summary>
            Converts merged cells in the represented range to normal cells.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Merge" />
      <seealso cref="P:SpreadsheetGear.IRange.MergeArea" />
      <seealso cref="P:SpreadsheetGear.IRange.MergeCells" />
      <seealso cref="P:SpreadsheetGear.IRange.EntireMergeArea" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Item(System.String)">
      <summary>
            Returns a new instance of <strong>IRange</strong> which is offset
            from this <strong>IRange</strong>.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a workbook.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Get the worksheet and change the name.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    worksheet.Name = "2005 Sales";
                    // Get the worksheet cells reference.
                    SpreadsheetGear.IRange cells = worksheet.Cells;
                    // Add column headers using a string index into the cell range.
                    cells["B1"].Formula = "Jan";
                    cells["C1"].Formula = "Feb";
                    cells["D1"].Formula = "Mar";
                    // Add row headers using zero based row and column indexes.
                    cells[1, 0].Formula = "Jennifer";
                    cells[2, 0].Formula = "William";
                    cells[3, 0].Formula = "Kristen";
                    // Add random data using a multiple cell string index.
                    cells["B2:D4"].Formula = "=RAND()*10000";
                    // Center the column headers using multiple cell row and column indexes.
                    cells[0, 1, 0, 3].HorizontalAlignment = SpreadsheetGear.HAlign.Center;
                    // Bold the row and column headers using a string index to multiple ranges.
                    cells["B1:D1,A2:A4"].Font.Bold = true;
                    // Format the data as currency.
                    cells["B2:D4"].NumberFormat = "$#,##0";
                    // Write the workbook.
                    workbook.SaveAs("2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97);
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a workbook.
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    ' Get the worksheet and change the name.
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    worksheet.Name = "2005 Sales"
                    ' Get the worksheet cells reference.
                    Dim cells As SpreadsheetGear.IRange = worksheet.Cells
                    ' Add column headers using a string index into the cells range.
                    cells("B1").Formula = "Jan"
                    cells("C1").Formula = "Feb"
                    cells("D1").Formula = "Mar"
                    ' Add row headers using zero based row and column indexes.
                    cells(1, 0).Formula = "Jennifer"
                    cells(2, 0).Formula = "William"
                    cells(3, 0).Formula = "Kristen"
                    ' Add random data using a multiple cell string index.
                    cells("B2:D4").Formula = "=RAND()*10000"
                    ' Center the column headers using multiple cell row and column indexes.
                    cells(0, 1, 0, 3).HorizontalAlignment = SpreadsheetGear.HAlign.Center
                    ' Bold the row and column headers using a string index to multiple ranges.
                    cells("B1:D1,A2:A4").Font.Bold = True
                    ' Format the data as currency.
                    cells("B2:D4").NumberFormat = "$#,##0"
                    ' Write the workbook.
                    workbook.SaveAs("2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97)
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <seealso cref="P:SpreadsheetGear.IRange.Item(System.Int32,System.Int32)" />
      <seealso cref="P:SpreadsheetGear.IRange.Item(System.Int32,System.Int32,System.Int32,System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Item(System.Int32,System.Int32)">
      <summary>
            Returns a new single cell instance of <strong>IRange</strong> which is offset
            from the top-left cell of the current <strong>IRange</strong>.
            </summary>
      <param name="rowOffset">The offset for the row of the new range (may be negative).</param>
      <param name="columnOffset">The offset for the column of the new range (may be negative).</param>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a workbook.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Get the worksheet and change the name.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    worksheet.Name = "2005 Sales";
                    // Get the worksheet cells reference.
                    SpreadsheetGear.IRange cells = worksheet.Cells;
                    // Add column headers using a string index into the cell range.
                    cells["B1"].Formula = "Jan";
                    cells["C1"].Formula = "Feb";
                    cells["D1"].Formula = "Mar";
                    // Add row headers using zero based row and column indexes.
                    cells[1, 0].Formula = "Jennifer";
                    cells[2, 0].Formula = "William";
                    cells[3, 0].Formula = "Kristen";
                    // Add random data using a multiple cell string index.
                    cells["B2:D4"].Formula = "=RAND()*10000";
                    // Center the column headers using multiple cell row and column indexes.
                    cells[0, 1, 0, 3].HorizontalAlignment = SpreadsheetGear.HAlign.Center;
                    // Bold the row and column headers using a string index to multiple ranges.
                    cells["B1:D1,A2:A4"].Font.Bold = true;
                    // Format the data as currency.
                    cells["B2:D4"].NumberFormat = "$#,##0";
                    // Write the workbook.
                    workbook.SaveAs("2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97);
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a workbook.
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    ' Get the worksheet and change the name.
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    worksheet.Name = "2005 Sales"
                    ' Get the worksheet cells reference.
                    Dim cells As SpreadsheetGear.IRange = worksheet.Cells
                    ' Add column headers using a string index into the cells range.
                    cells("B1").Formula = "Jan"
                    cells("C1").Formula = "Feb"
                    cells("D1").Formula = "Mar"
                    ' Add row headers using zero based row and column indexes.
                    cells(1, 0).Formula = "Jennifer"
                    cells(2, 0).Formula = "William"
                    cells(3, 0).Formula = "Kristen"
                    ' Add random data using a multiple cell string index.
                    cells("B2:D4").Formula = "=RAND()*10000"
                    ' Center the column headers using multiple cell row and column indexes.
                    cells(0, 1, 0, 3).HorizontalAlignment = SpreadsheetGear.HAlign.Center
                    ' Bold the row and column headers using a string index to multiple ranges.
                    cells("B1:D1,A2:A4").Font.Bold = True
                    ' Format the data as currency.
                    cells("B2:D4").NumberFormat = "$#,##0"
                    ' Write the workbook.
                    workbook.SaveAs("2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97)
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <seealso cref="P:SpreadsheetGear.IRange.Item(System.String)" />
      <seealso cref="P:SpreadsheetGear.IRange.Item(System.Int32,System.Int32,System.Int32,System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Item(System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>
            Returns a new 2d range instance of <strong>IRange</strong> which is offset
            from the top-left cell of the current range by the specified starting and ending
            row and column offsets.
            </summary>
      <param name="row1Offset">The offset for the top row of the new range (may be negative).</param>
      <param name="column1Offset">The offset for the left column of the new range (may be negative).</param>
      <param name="row2Offset">The offset for the bottom row of the new range (may be negative).</param>
      <param name="column2Offset">The offset for the right column of the new range (may be negative).</param>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a workbook.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Get the worksheet and change the name.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    worksheet.Name = "2005 Sales";
                    // Get the worksheet cells reference.
                    SpreadsheetGear.IRange cells = worksheet.Cells;
                    // Add column headers using a string index into the cell range.
                    cells["B1"].Formula = "Jan";
                    cells["C1"].Formula = "Feb";
                    cells["D1"].Formula = "Mar";
                    // Add row headers using zero based row and column indexes.
                    cells[1, 0].Formula = "Jennifer";
                    cells[2, 0].Formula = "William";
                    cells[3, 0].Formula = "Kristen";
                    // Add random data using a multiple cell string index.
                    cells["B2:D4"].Formula = "=RAND()*10000";
                    // Center the column headers using multiple cell row and column indexes.
                    cells[0, 1, 0, 3].HorizontalAlignment = SpreadsheetGear.HAlign.Center;
                    // Bold the row and column headers using a string index to multiple ranges.
                    cells["B1:D1,A2:A4"].Font.Bold = true;
                    // Format the data as currency.
                    cells["B2:D4"].NumberFormat = "$#,##0";
                    // Write the workbook.
                    workbook.SaveAs("2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97);
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a workbook.
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    ' Get the worksheet and change the name.
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    worksheet.Name = "2005 Sales"
                    ' Get the worksheet cells reference.
                    Dim cells As SpreadsheetGear.IRange = worksheet.Cells
                    ' Add column headers using a string index into the cells range.
                    cells("B1").Formula = "Jan"
                    cells("C1").Formula = "Feb"
                    cells("D1").Formula = "Mar"
                    ' Add row headers using zero based row and column indexes.
                    cells(1, 0).Formula = "Jennifer"
                    cells(2, 0).Formula = "William"
                    cells(3, 0).Formula = "Kristen"
                    ' Add random data using a multiple cell string index.
                    cells("B2:D4").Formula = "=RAND()*10000"
                    ' Center the column headers using multiple cell row and column indexes.
                    cells(0, 1, 0, 3).HorizontalAlignment = SpreadsheetGear.HAlign.Center
                    ' Bold the row and column headers using a string index to multiple ranges.
                    cells("B1:D1,A2:A4").Font.Bold = True
                    ' Format the data as currency.
                    cells("B2:D4").NumberFormat = "$#,##0"
                    ' Write the workbook.
                    workbook.SaveAs("2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97)
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <seealso cref="P:SpreadsheetGear.IRange.Item(System.String)" />
      <seealso cref="P:SpreadsheetGear.IRange.Item(System.Int32,System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.IRange.AddIndent">
      <summary>
            Gets or sets the property which controls indentation of text when 
            horizontal or vertical alignment is set to distributed.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.AddIndentDefined">
      <summary>
            Returns true if the <strong>AddIndent</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Address">
      <summary>
            Returns the cell or range address of the cells represented
            by this <string>IRange</string> using ReferenceStyle.A1.
            </summary>
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.GetAddress(System.Int32,System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.IRange.AllowEdit">
      <summary>
            Returns true if all of the cells represented by a range may
            be edited.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.AreaCount">
      <summary>
            Returns the number of areas in this <strong>IRange</strong>.
            </summary>
      <remarks>
        <strong>IRange.AreaCount</strong> and <strong>IRange.GetArea(int index)</strong> provide the
            same functionality as <strong>IRange.Areas.Count</strong> and <strong>IRange.Areas[int index]</strong>
            without the overhead of creating an instance of <strong>IAreas</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.Areas" />
      <seealso cref="M:SpreadsheetGear.IRange.GetArea(System.Int32)" />
      <seealso cref="P:SpreadsheetGear.IRange.CellCount" />
      <seealso cref="P:SpreadsheetGear.IRange.RowCount" />
      <seealso cref="P:SpreadsheetGear.IRange.ColumnCount" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Areas">
      <summary>
            Returns an instance of <strong>IAreas</strong> which represents an
            array of <strong>IRange</strong>s where each <strong>IRange</strong> returned
            by <strong>IAreas</strong> represents one cell or range.
            </summary>
      <remarks>
        <para>If this <strong>IRange</strong> contains only
            a single cell or range, the same single cell or range will be represented
            by the returned <strong>IRange</strong> of <strong>IArea</strong>.</para>
        <para>
          <strong>IRange.AreaCount</strong> and <strong>IRange.GetArea(int index)</strong> provide the
            same functionality as <strong>IRange.Areas.Count</strong> and <strong>IRange.Areas[int index]</strong>
            without the overhead of creating an instance of <strong>IAreas</strong>.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.AreaCount" />
      <seealso cref="M:SpreadsheetGear.IRange.GetArea(System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Borders">
      <summary>
            Returns an instance of <strong>IBorders</strong> which represents
            the cell borders of the cell or range represented by this <strong>IRange</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Cells">
      <summary>
            Returns the cells represented by this instance of <strong>IRange</strong>.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a worksheet.
                    SpreadsheetGear.IWorksheet worksheet = 
                        SpreadsheetGear.Factory.GetWorkbook().Worksheets["Sheet1"];
             
                    // Writes "6" (two columns by three rows).
                    System.Console.WriteLine(worksheet.Cells["B3:C5"].Count);
             
                    // Writes "2" (two columns).
                    System.Console.WriteLine(worksheet.Cells["B3:C5"].Columns.Count);
             
                    // Writes "6" (back to two columns by three rows).
                    System.Console.WriteLine(worksheet.Cells["B3:C5"].Columns.Cells.Count);
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a worksheet.
                    Dim worksheet As SpreadsheetGear.IWorksheet = SpreadsheetGear.Factory.GetWorkbook().Worksheets("Sheet1")
             
                    ' Writes "6" (two columns by three rows).
                    System.Console.WriteLine(worksheet.Cells("B3:C5").Count)
             
                    ' Writes "2" (two columns).
                    System.Console.WriteLine(worksheet.Cells("B3:C5").Columns.Count)
             
                    ' Writes "6" (back to two columns by three rows).
                    System.Console.WriteLine(worksheet.Cells("B3:C5").Columns.Cells.Count)
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
    </member>
    <member name="P:SpreadsheetGear.IRange.Column">
      <summary>
            Returns the zero based column number of the first column of this <strong>IRange</strong>.
            </summary>
      <remarks>
            If this <strong>IRange</strong> contains multiple areas, the first column number
            of the first area is returned.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.Row" />
      <seealso cref="P:SpreadsheetGear.IRange.ColumnCount" />
      <seealso cref="P:SpreadsheetGear.IRange.RowCount" />
    </member>
    <member name="P:SpreadsheetGear.IRange.ColumnCount">
      <summary>
            Returns the number of columns in this <strong>IRange</strong>.
            </summary>
      <remarks>
            If this <strong>IRange</strong> contains multiple areas, the number of columns
            in the first area is returned.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.Column" />
      <seealso cref="P:SpreadsheetGear.IRange.Row" />
      <seealso cref="P:SpreadsheetGear.IRange.RowCount" />
      <seealso cref="P:SpreadsheetGear.IRange.CellCount" />
      <seealso cref="P:SpreadsheetGear.IRange.AreaCount" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Columns">
      <summary>
            Returns a new instance of <strong>IRange</strong> which represents the same range
            of cells but which may be used to determine the number of columns in the range or to
            AutoFit the columns in the range.
            </summary>
      <remarks>If the <strong>IRange</strong> represents more than one range of cells,
            only the first range of cells is represented in the new <strong>IRange</strong>.</remarks>
      <example>
        <code lang="CS">
            int numberOfCols = worksheet.Cells["A1:B3"].Columns.Count; // 2 columns
                </code>
        <code lang="VB" title="[New Example]">
            Dim numberOfCols As Integer = worksheet.Cells("A1:B3").Columns.Count ' 2 columns
                </code>
      </example>
      <seealso cref="M:SpreadsheetGear.IRange.AutoFit" />
      <seealso cref="P:SpreadsheetGear.IRange.Count" />
      <seealso cref="P:SpreadsheetGear.IRange.Rows" />
      <seealso cref="P:SpreadsheetGear.IRange.RowCount" />
      <seealso cref="P:SpreadsheetGear.IRange.ColumnCount" />
      <seealso cref="P:SpreadsheetGear.IRange.CellCount" />
    </member>
    <member name="P:SpreadsheetGear.IRange.ColumnWidth">
      <summary>
            Gets or sets the width of the individual columns represented this range in characters.
            </summary>
      <example>
        <code lang="CS">
            range.ColumnWidth = 10.5; // Set column width to 10.5 characters.
                </code>
        <code lang="VB">
            range.ColumnWidth = 10.5 ' Set column width to 10.5 characters.
                </code>
      </example>
      <remarks>
            The default font is used to determine the width of a character.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.RowHeight" />
      <seealso cref="M:SpreadsheetGear.IRange.AutoFit" />
    </member>
    <member name="P:SpreadsheetGear.IRange.ColumnWidthDefined">
      <summary>
            Returns true if the <strong>ColumnWidth</strong> property of all columns
            represented by this <strong>IRange</strong> is the same, otherwise false is
            returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Comment">
      <summary>
            Returns an instance of <strong>IComment</strong> representing the comment which is associated
            the single cell represented by this range, or <strong>null</strong> if there is no comment.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.AddComment(System.String)" />
      <seealso cref="M:SpreadsheetGear.IRange.ClearComments" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Count">
      <summary>Deprecated - use CellCount, RowCount or ColumnCount.</summary>
      <example>
        <code lang="CS">
            int numberOfCells = worksheet.Cells["A1:B3"].Count; // 6 cells
            int numberOfRows = worksheet.Cells["A1:B3"].Rows.Count; // 3 rows
            int numberOfCols = worksheet.Cells["A1:B3"].Columns.Count; // 2 columns
                </code>
        <code lang="VB">
            Dim numberOfCells As Integer = worksheet.Cells("A1:B3").Count ' 6 cells
            Dim numberOfRows As Integer = worksheet.Cells("A1:B3").Rows.Count ' 3 rows
            Dim numberOfCols As Integer = worksheet.Cells("A1:B3").Columns.Count ' 2 columns
                </code>
      </example>
      <remarks>NOTE: This property will throw an exception if the count exceeds Int32.MaxValue.</remarks>
      <seealso cref="P:SpreadsheetGear.IRange.CellCount" />
      <seealso cref="P:SpreadsheetGear.IRange.RowCount" />
      <seealso cref="P:SpreadsheetGear.IRange.ColumnCount" />
      <seealso cref="P:SpreadsheetGear.IRange.AreaCount" />
      <seealso cref="P:SpreadsheetGear.IRange.Columns" />
      <seealso cref="P:SpreadsheetGear.IRange.Rows" />
    </member>
    <member name="P:SpreadsheetGear.IRange.CellCount">
      <summary>Returns the number of cells represented by this range.</summary>
      <example>
        <code lang="CS">
            long numberOfCells = worksheet.Cells["A1:XFD1048576"].CellCount; // 17,179,869,184 cells
                </code>
        <code lang="VB">
            Dim numberOfCells As Long = worksheet.Cells("A1:XFD1048576").CellCount ' 17179869184 cells
                </code>
      </example>
      <seealso cref="P:SpreadsheetGear.IRange.RowCount" />
      <seealso cref="P:SpreadsheetGear.IRange.ColumnCount" />
      <seealso cref="P:SpreadsheetGear.IRange.AreaCount" />
      <seealso cref="P:SpreadsheetGear.IRange.Count" />
    </member>
    <member name="P:SpreadsheetGear.IRange.CurrentArray">
      <summary>
            Returns the range of cells containing
            the array formula of the top-left cell of this <strong>IRange</strong>, or
            <strong>null</strong> if the top-left cell is not an array formula.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.FormulaArray" />
      <seealso cref="P:SpreadsheetGear.IRange.HasArray" />
    </member>
    <member name="P:SpreadsheetGear.IRange.CurrentRegion">
      <summary>
            Returns an expanded range of contiguous non-empty cells.
            </summary>
      <remarks>
            The range is continually expanded until there are no non-empty cells above,
            below, or beside it.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IRange.EndDown">
      <summary>
            Returns a single cell at the end of the current contiguous non-empty range,
            or at the start of the next non-empty range, starting with the top-left cell
            of this range.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.EndLeft" />
      <seealso cref="P:SpreadsheetGear.IRange.EndRight" />
      <seealso cref="P:SpreadsheetGear.IRange.EndUp" />
    </member>
    <member name="P:SpreadsheetGear.IRange.EndLeft">
      <summary>
            Returns a single cell at the start of the current contiguous non-empty range,
            or at the end of the previous non-empty range, starting with the top-left cell
            of this range.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.EndDown" />
      <seealso cref="P:SpreadsheetGear.IRange.EndRight" />
      <seealso cref="P:SpreadsheetGear.IRange.EndUp" />
    </member>
    <member name="P:SpreadsheetGear.IRange.EndRight">
      <summary>
            Returns a single cell at the end of the current contiguous non-empty range,
            or at the start of the next non-empty range, starting with the top-left cell
            of this range.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.EndDown" />
      <seealso cref="P:SpreadsheetGear.IRange.EndLeft" />
      <seealso cref="P:SpreadsheetGear.IRange.EndUp" />
    </member>
    <member name="P:SpreadsheetGear.IRange.EndUp">
      <summary>
            Returns a single cell at the start of the current contiguous non-empty range,
            or at the end of the previous non-empty range, starting with the top-left cell
            of this range.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.EndDown" />
      <seealso cref="P:SpreadsheetGear.IRange.EndLeft" />
      <seealso cref="P:SpreadsheetGear.IRange.EndRight" />
    </member>
    <member name="P:SpreadsheetGear.IRange.EntireColumn">
      <summary>
            Returns a new instance of <strong>IRange</strong> which represents the same range
            of cells, but expanded to include all rows.
            </summary>
      <example>
        <code lang="CS">
            IRange cols = worksheet.Cells["A1:B3"].EntireColumn; // 'cols' represents A:B
                </code>
        <code lang="VB">
            Dim cols As IRange = worksheet.Cells("A1:B3").EntireColumn ' 'cols' represents A:B
                </code>
      </example>
      <seealso cref="P:SpreadsheetGear.IRange.EntireRow" />
    </member>
    <member name="P:SpreadsheetGear.IRange.EntireMergeArea">
      <summary>
            Returns an <strong>IRange</strong> representing the area of the current <strong>IRange</strong>
            which is iteratively grown as needed until it includes no partial merged cells.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Merge" />
      <seealso cref="P:SpreadsheetGear.IRange.MergeArea" />
      <seealso cref="P:SpreadsheetGear.IRange.MergeCells" />
      <seealso cref="M:SpreadsheetGear.IRange.UnMerge" />
    </member>
    <member name="P:SpreadsheetGear.IRange.EntireRow">
      <summary>
            Returns a new instance of <strong>IRange</strong> which represents the same range
            of cells, but expanded to include all columns.
            </summary>
      <example>
        <code lang="CS">
            IRange rows = worksheet.Cells["A1:B3"].EntireRow; // 'rows' represents A1:IV3
                </code>
        <code lang="VB">
            Dim rows As IRange = worksheet.Cells("A1:B3").EntireRow ' 'rows' represents A1:IV3
                </code>
      </example>
      <see cref="P:SpreadsheetGear.IRange.EntireColumn" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Entry">
      <summary>
            Returns the text which is displayed in the workbook view's formula bar.
            </summary>
      <remarks>
        <para>The workbook view displays text in the formula bar in a form which is easier
            to work with than the raw value of a cell.</para>
        <para>For example, <strong>Entry</strong> will return "5%"
            for a cell with the number 0.05 formatted as "0%" and will return "1/1/2006" for a cell with the number
            38718 formatted as "mm/dd/yyyy".</para>
        <para>Array formulas will not include the curly braces which are displayed in the formula bar.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.Formula" />
      <seealso cref="P:SpreadsheetGear.IRange.Text" />
      <seealso cref="P:SpreadsheetGear.IRange.Value" />
      <seealso cref="P:SpreadsheetGear.IRange.ValueType" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Font">
      <summary>
            Returns an instance of <strong>IFont</strong> which may be used to
            get and set font properties of the cells represented by this <strong>IRange</strong>.
            </summary>
      <seealso cref="T:SpreadsheetGear.IFont" />
    </member>
    <member name="P:SpreadsheetGear.IRange.FormatConditions">
      <summary>
            Returns a collection which represents the conditional formatting options of this range.
            </summary>
      <seealso cref="T:SpreadsheetGear.IFormatConditions" />
      <seealso cref="T:SpreadsheetGear.IFormatCondition" />
      <seealso cref="P:SpreadsheetGear.IRange.FormatConditionsDefined" />
    </member>
    <member name="P:SpreadsheetGear.IRange.FormatConditionsDefined">
      <summary>
            Returns true if the conditional formatting options of all cells represented
            by this <strong>IRange</strong> are the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.FormatConditions" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Formula">
      <summary>
            Gets the formula, or sets the value or formula, of the cells represented by this <strong>IRange</strong>.
            </summary>
      <remarks>
        <para>To put a formula in a cell, the first character must be '='. Otherwise,
                attempts will be made to convert the specified string to a number, date, time,
                date/time, logical or error value. If none of these succeed, the value will be set
                in the cell as text.</para>
        <para>To put text in a cell without attempting to parse the string, use a leading
                single quote. Setting a cell to "'66044" will place the text "66044" into the cell
                without any parsing.</para>
        <para>When a value is converted from a string to a number, an appropriate number
                format is applied to the cell. For example, setting <strong>Formula</strong> to
                "10%" sets the value of the cell to 0.1 and sets the number format of the cell to
                "0%". The number format of the cell will not be changed unless it is a different
                type, such as putting "5%" into a cell currently formatted as currency.</para>
        <para>The <strong>System.Globalization.CultureInfo</strong> of the current workbook
                set is used to determine how to parse dates, times, numbers and currency
                values.</para>
        <para>
                    Use <see cref="P:SpreadsheetGear.IRange.Value" /> to get the value of the cell represented by this
                    <see cref="T:SpreadsheetGear.IRange" /> or use <see cref="P:SpreadsheetGear.IRange.Text" /> to get the formatted
                    value of the cell.
                </para>
      </remarks>
      <example>
        <code lang="CS"><![CDATA[
            // Set cells to a formula which referes to the top-left cell in the worksheet.
            range.Formula = "=$A$1";
             
            // Set cells to a formula for Pi.
            range.Formula = "=PI()";
             
            // Set cells to the text "Hello World!".
            range.Formula = "Hello World!";
             
            // Set cells to the number 123.5.
            range.Formula = "123.5";
             
            // Set cells to the text "66044" without parsing by using a leading single quote.
            range.Formula = "'66044";
             
            // Set cells to the number represented by the date "4/20/2005" and format the cell as a date.
            range.Formula = "4/20/2005";
             
            // Set cells to the logical value TRUE.
            range.Formula = "True";
             
            // Set cells to the error value #N/A.
            range.Formula = "#n/a";]]></code>
        <code lang="VB"><![CDATA[
            ' Set cells to a formula which referes to the top-left cell in the worksheet.
            range.Formula = "=$A$1"
             
            ' Set cells to a formula for Pi.
            range.Formula = "=PI()"
             
            ' Set cells to the text "Hello World!".
            range.Formula = "Hello World!"
             
            ' Set cells to the number 123.5.
            range.Formula = "123.5"
             
            ' Set cells to the text "66044" without parsing by using a leading single quote.
            range.Formula = "'66044"
             
            ' Set cells to the number represented by the date "4/20/2005" and format the cell as a date.
            range.Formula = "4/20/2005"
             
            ' Set cells to the logical value TRUE.
            range.Formula = "True"
             
            ' Set cells to the error value #N/A.
            range.Formula = "#n/a"]]></code>
      </example>
      <seealso cref="P:SpreadsheetGear.IRange.FormulaArray" />
      <seealso cref="P:SpreadsheetGear.IRange.FormulaR1C1" />
      <seealso cref="P:SpreadsheetGear.IRange.Value" />
      <seealso cref="P:SpreadsheetGear.IRange.ValueType" />
      <seealso cref="P:SpreadsheetGear.IRange.Text" />
      <seealso cref="P:SpreadsheetGear.IRange.Entry" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet(System.Globalization.CultureInfo)" />
      <value>Returns the formula of the cell represented by this <see cref="T:SpreadsheetGear.IRange" />.</value>
    </member>
    <member name="P:SpreadsheetGear.IRange.FormulaArray">
      <summary>
            Gets or sets the array formula for a range.
            </summary>
      <remarks>An array formula may be placed in a single cell or multiple cells.</remarks>
      <seealso cref="P:SpreadsheetGear.IRange.CurrentArray" />
      <seealso cref="P:SpreadsheetGear.IRange.Formula" />
      <seealso cref="P:SpreadsheetGear.IRange.HasArray" />
      <seealso cref="P:SpreadsheetGear.IRange.Value" />
    </member>
    <member name="P:SpreadsheetGear.IRange.FormulaHidden">
      <summary>
            Gets or sets the property which specifies whether formulas should be hidden.
            </summary>
      <remarks>
                Hiding formulas will have no affect unless
                <see cref="P:SpreadsheetGear.IWorksheet.ProtectContents" /> is set to <strong>true</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.ProtectContents" />
      <seealso cref="P:SpreadsheetGear.IRange.FormulaHiddenDefined" />
      <seealso cref="P:SpreadsheetGear.IRange.Locked" />
      <seealso cref="P:SpreadsheetGear.IRange.Hidden" />
    </member>
    <member name="P:SpreadsheetGear.IRange.FormulaHiddenDefined">
      <summary>
            Returns true if the <strong>FormulaHidden</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.FormulaHidden" />
    </member>
    <member name="P:SpreadsheetGear.IRange.FormulaR1C1">
      <summary>
            Gets or sets the value or formula of the cells represented by this <strong>IRange</strong> using
            <strong>ReferenceStyle.R1C1</strong>.
            </summary>
      <remarks>
            To put a formula in a cell, the first character must be '='. Otherwise, attempts
            will be made to convert the specified string to a number, date, time, date/time,
            logical or error value. If none of these succeed, the value will be set in the
            cell as text.
            </remarks>
      <example>
        <code lang="CS">
            // Set cells to a formula which referes to the top-left cell in the worksheet.
            range.FormulaR1C1 = "=R1C1";
                </code>
        <code lang="VB">
            ' Set cells to a formula which referes to the top-left cell in the worksheet.
            range.FormulaR1C1 = "=R1C1"
                </code>
      </example>
      <seealso cref="P:SpreadsheetGear.IRange.Formula" />
    </member>
    <member name="P:SpreadsheetGear.IRange.HasArray">
      <summary>
            Returns true if the cell or range contains any array formulas, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.CurrentArray" />
      <seealso cref="P:SpreadsheetGear.IRange.FormulaArray" />
    </member>
    <member name="P:SpreadsheetGear.IRange.HasArrayDefined">
      <summary>
            Returns true if the <strong>HasArray</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.HasFormula">
      <summary>
            Returns true if the cell or range contains any formulas, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.Formula" />
      <seealso cref="P:SpreadsheetGear.IRange.HasFormulaDefined" />
    </member>
    <member name="P:SpreadsheetGear.IRange.HasFormulaDefined">
      <summary>
            Returns true if the <strong>HasFormula</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.HasValidation">
      <summary>
            Returns true if any of the cells represented by this range have data validation associated with them.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Height">
      <summary>
            Returns the height of the range in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Hidden">
      <summary>
            Gets or sets the property which specifies whether rows or columns should be hidden.
            </summary>
      <remarks>This property only works on ranges returned by <strong>IRange.Rows</strong>, <strong>IRange.EntireRows</strong>,
            <strong>IRange.Columns</strong> and <strong>IRange.EntireColumns</strong>.</remarks>
      <example>
        <code lang="CS" description="Hide column B of a worksheet.">
            // Create a worksheet.
            IWorksheet worksheet = Factory.GetWorkbook().Worksheets[0];
             
            // Hide column B of the worksheet.
            worksheet.Cells["B:B"].Columns.Hidden = true;
                </code>
        <code lang="VB">
            ' Create a worksheet.
            Dim worksheet As IWorksheet = Factory.GetWorkbook().Worksheets(0)
              
            ' Hide column B of the worksheet.
            worksheet.Cells("B:B").Columns.Hidden = True
                </code>
      </example>
    </member>
    <member name="P:SpreadsheetGear.IRange.HorizontalAlignment">
      <summary>
            Gets or sets the horizontal alignment of a cell or range.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.HorizontalAlignmentDefined">
      <summary>
            Returns true if the <strong>HorizontalAlignment</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Hyperlinks">
      <summary>
            Returns a hyperlink collection representing the hyperlinks which are attached to this range.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.IsEntireColumns">
      <summary>
            Returns true if the current range represents one or more entire columns.
            </summary>
      <remarks>
            If the current <IRange>IRange</IRange> represents more than one range of cells, <b>IsEntireColumns</b>
            will only return true if every range of cells represents one or more entire columns.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IRange.IsEntireRows">
      <summary>
            Returns true if the current range represents one or more entire rows.
            </summary>
      <remarks>
            If the current <IRange>IRange</IRange> represents more than one range of cells, <b>IsEntireRows</b>
            will only return true if every range of cells represents one or more entire rows.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IRange.IsVolatileOrCircularFormula">
      <summary>
            Returns true if the single cell range is, or depends on, a volatile function or circular reference.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.IndentLevel">
      <summary>
            Gets or sets the indent level of the specified cell(s).
            </summary>
      <remarks>
                The <strong>IndentLevel</strong> propert indents from the left for
                <see cref="F:SpreadsheetGear.HAlign.Left">HAlign.Left</see>, from the right for
                <see cref="F:SpreadsheetGear.HAlign.Right">HAlign.Right</see> or from the left and right for
                <see cref="F:SpreadsheetGear.HAlign.Distributed">HAlign.Distributed</see>. If
                <strong>IndentLevel</strong> is set to a non-zero value and the
                <see cref="P:SpreadsheetGear.IRange.HorizontalAlignment" /> property is not currently set to one of
                these three values, <see cref="P:SpreadsheetGear.IRange.HorizontalAlignment" /> will be set to
                <see cref="F:SpreadsheetGear.HAlign.Left">HAlign.Left</see>.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.IRange.Interior">
      <summary>
            Returns the <strong>IInterior</strong> which represents the interior (background)
            color and pattern of the specified cell(s).
            </summary>
      <remarks>The interior color and pattern of a cell is used to paint the background.</remarks>
      <seealso cref="T:SpreadsheetGear.IInterior" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Locked">
      <summary>
            Gets or sets the property which specifies whether cells should be locked.
            </summary>
      <remarks>
                Locking cells will have no affect unless
                <see cref="P:SpreadsheetGear.IWorksheet.ProtectContents" /> is set to <strong>true</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.ProtectContents" />
      <seealso cref="P:SpreadsheetGear.IRange.LockedDefined" />
      <seealso cref="P:SpreadsheetGear.IRange.FormulaHidden" />
    </member>
    <member name="P:SpreadsheetGear.IRange.LockedDefined">
      <summary>
            Returns true if the <strong>Locked</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.Locked" />
    </member>
    <member name="P:SpreadsheetGear.IRange.MergeArea">
      <summary>
            Returns an <strong>IRange</strong> representing the merged cell area if
            the cell represented by this <strong>IRange</strong> is part of a merged cell range,
            otherwise the original <strong>IRange</strong> is returned.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Merge" />
      <seealso cref="P:SpreadsheetGear.IRange.MergeCells" />
      <seealso cref="P:SpreadsheetGear.IRange.EntireMergeArea" />
      <seealso cref="M:SpreadsheetGear.IRange.UnMerge" />
    </member>
    <member name="P:SpreadsheetGear.IRange.MergeCells">
      <summary>
            Gets or sets the property which specifies whether cells are merged.
            </summary>
      <remarks>
            Setting <strong>MergeCells</strong> to true has the same effect as calling
            <strong>IRange.Merge()</strong>. Setting <strong>MergeCells</strong> to false
            has the same effect as calling <strong>IRange.UnMerge()</strong>.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IRange.Merge" />
      <seealso cref="P:SpreadsheetGear.IRange.MergeArea" />
      <seealso cref="P:SpreadsheetGear.IRange.EntireMergeArea" />
      <seealso cref="M:SpreadsheetGear.IRange.UnMerge" />
    </member>
    <member name="P:SpreadsheetGear.IRange.MergeCellsDefined">
      <summary>
            Returns true if the <strong>MergeCells</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Name">
      <summary>
            Returns the first defined name which refers to the cells represented by this range, or <strong>null</strong>
            if no defined name refers to the range.
            </summary>
      <remarks>
        <para>The <strong>IRange.Worksheet.Workbook.Names</strong> collection is searched
            in ascending order.</para>
        <para>If no matching defined name is found, <strong>null</strong> is returned.</para>
        <para>Only simple defined names are searched. For example, a defined name which uses the OFFSET() worksheet function will not be considered.</para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IRange.NumberFormat">
      <summary>
            Gets or sets the number format of the cells in the range.
            </summary>
      <remarks>
            SpreadsheetGear number formats are compatible with Microsoft
            Excel number formats.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.NumberFormatType" />
      <seealso cref="P:SpreadsheetGear.IRange.NumberFormatDefined" />
    </member>
    <member name="P:SpreadsheetGear.IRange.NumberFormatType">
      <summary>
            Returns the number format type of the top-left cell of this range.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.NumberFormat" />
      <seealso cref="T:SpreadsheetGear.NumberFormatType" />
      <seealso cref="P:SpreadsheetGear.IRange.ValueType" />
    </member>
    <member name="P:SpreadsheetGear.IRange.NumberFormatDefined">
      <summary>
            Returns true if the <strong>NumberFormat</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.OutlineLevel">
      <summary>
            Gets or sets the outline level of a range of rows or columns, which provides the
            ability to group and summarize information.
            </summary>
      <example>
        <code lang="CS">
            // Create a new workbook.
            SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
            SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
            SpreadsheetGear.IRange cells = worksheet.Cells;
             
            // Set the worksheet name.
            worksheet.Name = "2004 Sales";
             
            // Load column titles and center.
            cells["B1"].Formula = "Mary";
            cells["C1"].Formula = "Tom";
            cells["D1"].Formula = "Jane";
            cells["E1"].Formula = "Rick";
            cells["B1:E1"].HorizontalAlignment = SpreadsheetGear.HAlign.Center;
             
            // Load row titles and align right.
            for (int quarter = 1; quarter &lt;= 4; quarter++)
                cells[quarter, 0].Formula = "Q" + quarter;
            cells["A6"].Formula = "Total";
            cells["A1:A6"].HorizontalAlignment = SpreadsheetGear.HAlign.Right;
             
            // Load random data
            Random rand = new Random(System.Environment.TickCount);
            for (int row = 1; row &lt;= 4; row++)
            {
                for (int col = 1; col &lt;= 4; col++)
                    cells[row, col].Value = rand.Next(1000, 10000);
            }
             
            // Sum each column. 
            cells["B6"].Formula = "=SUM(B2:B5)"; 
            cells["C6"].Formula = "=SUM(C2:C5)"; 
            cells["D6"].Formula = "=SUM(D2:D5)"; 
            cells["E6"].Formula = "=SUM(E2:E5)";
             
            // Format values as currency. 
            cells["B2:E6"].NumberFormat = "$#,##0_)";  
             
            // Set the outline level
            cells["2:5"].Rows.OutlineLevel = 2;
                </code>
        <code lang="VB">
            ' Create a new workbook.
            Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
            Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
            Dim cells As SpreadsheetGear.IRange = worksheet.Cells
             
            ' Set the worksheet name.
            worksheet.Name = "2004 Sales"
             
            ' Load column titles and center.
            cells("B1").Formula = "Mary"
            cells("C1").Formula = "Tom"
            cells("D1").Formula = "Jane"
            cells("E1").Formula = "Rick"
            cells("B1:E1").HorizontalAlignment = SpreadsheetGear.HAlign.Center
             
            ' Load row titles and align right.
            Dim quarter As Integer
            For quarter = 1 To 4
                cells(quarter, 0).Formula = "Q" + Convert.ToString(quarter)
            Next quarter
            cells("A6").Formula = "Total"
            cells("A1:A6").HorizontalAlignment = SpreadsheetGear.HAlign.Right
             
            ' Load random data
            Dim rand As New Random(System.Environment.TickCount)
            Dim row As Integer
            For row = 1 To 4
                Dim col As Integer
                For col = 1 To 4
                    cells(row, col).Value = rand.Next(1000, 10000)
                Next col
            Next row
             
            ' Sum each column. 
            cells("B6").Formula = "=SUM(B2:B5)"
            cells("C6").Formula = "=SUM(C2:C5)"
            cells("D6").Formula = "=SUM(D2:D5)"
            cells("E6").Formula = "=SUM(E2:E5)"
             
            ' Format values as currency. 
            cells("B2:E6").NumberFormat = "$#,##0_)"
             
            ' Set the outline level
            cells("2:5").Rows.OutlineLevel = 2
                </code>
      </example>
      <seealso cref="M:SpreadsheetGear.IOutline.ShowLevels(System.Int32,System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.IRange.OutlineLevelDefined">
      <summary>
            Returns true if the <strong>OutlineLevel</strong> property of all rows or columns represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.OutlineLevel" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Orientation">
      <summary>
            Gets or sets the text orientation of a cell or range, which may be from -90 to
            90 degrees or <strong>SpreadsheetGear.Orientation.Vertical</strong>.
            </summary>
      <remarks>
            See the <strong>SpreadsheetGear.Orientation</strong> class for related
            constants.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.Orientation">Orientation Class</seealso>
    </member>
    <member name="P:SpreadsheetGear.IRange.OrientationDefined">
      <summary>
            Returns true if the <strong>Orientation</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.PageBreak">
      <summary>Adds or removes manual page breaks for a range.</summary>
      <remarks>
        <para dir="ltr" style="MARGIN-RIGHT: 0px">Set this property to
                <strong>PageBreak.Manual</strong> to add a manual page break, or
                <strong>PageBreak.None</strong> to remove a manual page break.</para>
        <para dir="ltr" style="MARGIN-RIGHT: 0px">If the range represents entire rows, a
                page break is added or removed before the first row of the range.</para>
        <para dir="ltr" style="MARGIN-RIGHT: 0px">If the range represents entire columns, a
                page break is added or removed before the first column of the range.</para>
        <para dir="ltr" style="MARGIN-RIGHT: 0px">If the range represents neither entire
                rows nor entire columns, a page break is added or removed before the first row and
                first column of the range.</para>
        <para dir="ltr" style="MARGIN-RIGHT: 0px">To remove all manual page breaks from a
                worksheet, set <strong>IWorksheet.Cells.PageBreak</strong> to
                <strong>PageBreak.None</strong>.</para>
      </remarks>
      <example>
        <code lang="CS">
            void SetPageBreak(SpreadsheetGear.IWorksheet worksheet, int row, int col)
            {
                worksheet.Cells[row, col].PageBreak = SpreadsheetGear.PageBreak.Manual;
            }
                </code>
        <code lang="VB">
            Sub SetPageBreak(worksheet As SpreadsheetGear.IWorksheet, row As Integer, col As Integer)
               worksheet.Cells(row, col).PageBreak = SpreadsheetGear.PageBreak.Manual
            End Sub 'SetPageBreak
                </code>
      </example>
    </member>
    <member name="P:SpreadsheetGear.IRange.PrefixCharacter">
      <summary>
            Returns '\'' if text was entered into a cell with a leading apostrophe, otherwise
            '\0' is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.PrefixCharacterDefined">
      <summary>
            Returns true if the <strong>PrefixCharacter</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Range">
      <summary>
            Returns the cells represented by this instance of <strong>IRange</strong>.
            </summary>
      <remarks>
            This property actually returns the same thing
            as <see cref="P:SpreadsheetGear.IRange.Cells" /> and is here as a convenience to Excel
            developers who are used to utilizing this property in the Excel Range object.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.Cells" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Row">
      <summary>Returns the zero based row number of the first row.</summary>
      <remarks>
            If this <strong>IRange</strong> contains multiple areas, the first row number
            of the first area is returned.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.Column" />
      <seealso cref="P:SpreadsheetGear.IRange.ColumnCount" />
      <seealso cref="P:SpreadsheetGear.IRange.RowCount" />
      <seealso cref="P:SpreadsheetGear.IRange.CellCount" />
    </member>
    <member name="P:SpreadsheetGear.IRange.RowCount">
      <summary>
            Returns the number of rows in this <strong>IRange</strong>.
            </summary>
      <remarks>
            If this <strong>IRange</strong> contains multiple areas, the number of rows
            in the first area is returned.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.Column" />
      <seealso cref="P:SpreadsheetGear.IRange.Row" />
      <seealso cref="P:SpreadsheetGear.IRange.ColumnCount" />
      <seealso cref="P:SpreadsheetGear.IRange.AreaCount" />
      <seealso cref="P:SpreadsheetGear.IRange.CellCount" />
    </member>
    <member name="P:SpreadsheetGear.IRange.RowHeight">
      <summary>
            Gets or sets the height of the individual rows represented by this range in points.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.ColumnWidth" />
      <seealso cref="M:SpreadsheetGear.IRange.AutoFit" />
    </member>
    <member name="P:SpreadsheetGear.IRange.RowHeightDefined">
      <summary>
            Returns true if the <strong>RowHeight</strong> property of all rows
            represented by this <strong>IRange</strong> is the same, otherwise false is
            returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Rows">
      <summary>
            Returns a new instance of <strong>IRange</strong> which represents the same range
            of cells but which may be used to determine the number of rows in the range or to
            AutoFit the rows in the range.
            </summary>
      <remarks>If the <strong>IRange</strong> represents more than one range of cells,
            only the first range of cells is represented in the new <strong>IRange</strong>.</remarks>
      <example>
        <code lang="CS">
            int numberOfRows = worksheet.Cells["A1:B3"].Rows.Count; // 3 rows
                </code>
        <code lang="VB">
            Dim numberOfRows As Integer = worksheet.Cells("A1:B3").Rows.Count ' 3 rows
                </code>
      </example>
      <seealso cref="M:SpreadsheetGear.IRange.AutoFit" />
      <seealso cref="P:SpreadsheetGear.IRange.Columns" />
      <seealso cref="P:SpreadsheetGear.IRange.Count" />
      <seealso cref="P:SpreadsheetGear.IRange.RowCount" />
      <seealso cref="P:SpreadsheetGear.IRange.ColumnCount" />
      <seealso cref="P:SpreadsheetGear.IRange.CellCount" />
    </member>
    <member name="P:SpreadsheetGear.IRange.ShowDetail">
      <summary>
            Gets or sets the property which specifies whether the detail corrresponding to the outline level of the represented row or column will be shown (expanded) or hidden (collapsed).
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.ShrinkToFit">
      <summary>
            Gets or sets the property which specifies whether cells will be drawn
            in a smaller font if needed to display the contents of the cell.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.ShrinkToFitDefined">
      <summary>
            Returns true if the <strong>ShrinkToFit</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Style">
      <summary>
            Gets or sets the named cell style associated with the cells represented by this <strong>IRange</strong>.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.Styles" />
      <seealso cref="T:SpreadsheetGear.IStyles" />
      <seealso cref="T:SpreadsheetGear.IStyle" />
    </member>
    <member name="P:SpreadsheetGear.IRange.StyleDefined">
      <summary>
            Returns true if the <strong>Style</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Text">
      <summary>
            Returns the value of the cell represented by this <strong>IRange</strong> as a formatted string.
            </summary>
      <remarks>
        <para>The value of the cell is formatted using the number format of the cell and
                returned as a string.</para>
        <para>Note: Microsoft Excel truncates the number of significant digits displayed,
                or displays "######" for numbers which do not fit, based on the column width and
                font of the cell. SpreadsheetGear does not limit the returned text in this
                way.</para>
        <para>
                    Use the <see cref="P:SpreadsheetGear.IRange.Value" /> property to get the raw data of the cell (such
                    as a <strong>Double</strong> for dates and times).
                </para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.Formula" />
      <seealso cref="P:SpreadsheetGear.IRange.NumberFormat" />
      <seealso cref="P:SpreadsheetGear.IRange.NumberFormatType" />
      <seealso cref="P:SpreadsheetGear.IRange.Value" />
      <seealso cref="P:SpreadsheetGear.IRange.ValueType" />
      <seealso cref="P:SpreadsheetGear.IRange.Entry" />
    </member>
    <member name="P:SpreadsheetGear.IRange.Validation">
      <summary>
            Returns an instance of <strong>IValidation</strong> which may be used to
            get and set validation properties of the cells represented by this <strong>IRange</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.ValidationDefined">
      <summary>
            Returns true if the validation options of all cells represented
            by this <strong>IRange</strong> are the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Value">
      <summary>
            Gets the value of the specified range as a <strong>System.String</strong>,
            <strong>System.Double</strong>, <strong>System.Boolean</strong>,
            <strong>SpreadsheetGear.ValueError</strong>, <strong>object[,]</strong> or
            <strong>null</strong>; or sets the value of the specified cell as a
            <strong>System.String</strong>, <strong>System.Double</strong>,
            <strong>System.Int32</strong>, <strong>System.Int64</strong>,
            <strong>System.Int16</strong>, <strong>System.Char</strong>, <strong>System.Boolean</strong>,
            <strong>System.DateTime</strong>, <strong>SpreadsheetGear.ValueError</strong>,
            <strong>System.Decimal</strong>, <strong>System.DBNull</strong>,
            <strong>object[,]</strong> or <strong>null</strong>.
            </summary>
      <remarks>
        <para>An empty cell returns a value of <strong>null</strong>.</para>
        <para>Setting <strong>Value</strong> to null or to an empty string clears the value
                from the cell.</para>
        <para>
                    Setting <strong>Value</strong> to a string has the same affect as setting
                    <see cref="P:SpreadsheetGear.IRange.Formula" /> to the same string, the only difference being that
                    setting <see cref="P:SpreadsheetGear.IRange.Formula" /> directly is faster. See <see cref="P:SpreadsheetGear.IRange.Formula" /> for more information on the parsing of string values to
                    numbers, dates, times, errors, logical values and text.
                </para>
        <para>
                    Dates and times are stored internally as a <strong>System.Double</strong>.
                    Setting <strong>Value</strong> to a <strong>System.DateTime</strong> converts
                    the date and/or time to a <strong>System.Double</strong>. Use <see cref="M:SpreadsheetGear.IWorkbook.DateTimeToNumber(System.DateTime)" /> and <see cref="M:SpreadsheetGear.IWorkbook.NumberToDateTime(System.Double)" /> to convert from a
                    <strong>System.DateTime</strong> to a number suitable for a cell and back.
                </para>
        <para>
                    The <strong>Value</strong> property returns the raw data of a cell. Use
                    <see cref="P:SpreadsheetGear.IRange.Formula" /> to get the formula of a cell or use <see cref="P:SpreadsheetGear.IRange.Text" /> to get the formatted value of a cell.
                </para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.Formula" />
      <seealso cref="P:SpreadsheetGear.IRange.Text" />
      <seealso cref="P:SpreadsheetGear.IRange.Entry" />
      <seealso cref="P:SpreadsheetGear.IRange.ValueType" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.DateTimeToNumber(System.DateTime)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.NumberToDateTime(System.Double)" />
    </member>
    <member name="P:SpreadsheetGear.IRange.ValueType">
      <summary>
            Returns the value type of the top-left cell of this range.
            </summary>
      <seealso cref="T:SpreadsheetGear.ValueType" />
      <seealso cref="P:SpreadsheetGear.IRange.NumberFormatType" />
    </member>
    <member name="P:SpreadsheetGear.IRange.VerticalAlignment">
      <summary>
            Gets or sets the vertical alignment of a cell or range.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.VerticalAlignmentDefined">
      <summary>
            Returns true if the <strong>VerticalAlignment</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Width">
      <summary>
            Returns the width of the range in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.WorkbookSet">
      <summary>Returns the parent <strong>IWorkbookSet</strong> of this range.</summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.Worksheet">
      <summary>Returns the parent <strong>IWorksheet</strong> of this range.</summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.WrapText">
      <summary>
            Get or sets the flag which indicates whether word wrap is enabled in a cell.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IRange.WrapTextDefined">
      <summary>
            Returns true if the <strong>WrapText</strong> property of all cells represented
            by this <strong>IRange</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IHyperlinks">
      <summary>
            Represents a hyperlink collection.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.IHyperlinks.Add(SpreadsheetGear.IRange,System.String,System.String,System.String,System.String)">
      <summary>
            Returns a newly created hyperlink with the specified options.
            </summary>
      <param name="anchor">Specifies the range which the hyperlink will be attached to.</param>
      <param name="address">Specifies the address of the hyperlink (such as "http://www.spreadsheetgear.com/").</param>
      <param name="subAddress">Specifies the sub address of the hyperlink (such as "Sheet1!MyDefinedName").</param>
      <param name="screenTip">Specifies the screen tip to display when the mouse hovers over the range.</param>
      <param name="textToDisplay">Specifies the text to display for the hyperlink.</param>
      <returns>The newly created hyperlink.</returns>
    </member>
    <member name="M:SpreadsheetGear.IHyperlinks.Delete">
      <summary>
            Deletes the hyperlinks in this collection.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IHyperlinks.Item(System.Int32)">
      <summary>Returns the hyperlink specified by the zero based <strong>index</strong>.</summary>
    </member>
    <member name="P:SpreadsheetGear.IHyperlinks.Count">
      <summary>
            Returns the number of hyperlinks in the hyperlink collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IAreas">
      <summary>
            Represents a collection of ranges, each of which represent a single contiguous
            range of one or more cells.
            </summary>
      <remarks>
        <strong>IRange.Areas</strong> returns an instance of <strong>IAreas</strong>,
            which is useful for deconstructing an instance of <strong>IRange</strong> which
            represents multiple ranges of cells<strong>.</strong></remarks>
    </member>
    <member name="P:SpreadsheetGear.IAreas.Item(System.Int32)">
      <summary>
            Returns the zero based instance of <strong>IRange</strong> specified by
            <em>index</em>.
            </summary>
      <param name="index">Specifies the zero based index of the <strong>IRange</strong> to return.</param>
    </member>
    <member name="P:SpreadsheetGear.IAreas.Count">
      <summary>
            Returns the number of instances of <strong>IRange</strong> represented by this
            <strong>IArea</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IAreas.WorkbookSet">
      <summary>Returns the parent instance of <strong>IWorkbookSet</strong>.</summary>
    </member>
    <member name="T:SpreadsheetGear.IBorders">
      <summary>
            Represents the border color, border style, and border weight of
            a cell or range of cells.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IBorders.Item(SpreadsheetGear.BordersIndex)">
      <summary>Returns the specified <strong>IBorder</strong>.</summary>
      <param name="index">Specifies which border to return.</param>
    </member>
    <member name="P:SpreadsheetGear.IBorders.WorkbookSet">
      <summary>
            Returns the parent <strong>IWorkbookSet</strong> of this instance of
            <strong>IBorders</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IBorders.Color">
      <summary>
            Gets or sets the color of the borders of the
            represented cell, range or object.
            </summary>
      <seealso cref="P:SpreadsheetGear.IBorders.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IBorders.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IBorders.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IBorders.ColorDefined" />
    </member>
    <member name="P:SpreadsheetGear.IBorders.ColorDefined">
      <summary>
            Returns true if the <strong>Color</strong>, <strong>ColorIndex</strong>, 
            <strong>ThemeColor</strong> and <strong>TintAndShade</strong> 
            properties of all borders represented by this instance
            of <strong>IBorders</strong> are the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IBorders.ColorIndex">
      <summary>
            Gets or sets the zero based color index of the borders of the represented cell, range or
            object.
            </summary>
      <seealso cref="T:SpreadsheetGear.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IBorders.Color" />
      <seealso cref="P:SpreadsheetGear.IBorders.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IBorders.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IBorders.ColorDefined" />
    </member>
    <member name="P:SpreadsheetGear.IBorders.Count">
      <summary>
            Returns the number of instances of <strong>IBorder</strong> represented by this
            instance of <strong>IBorders</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IBorders.LineStyle">
      <summary>
            Gets or sets the <b>LineStyle</b> of the borders
            of the represented cell, range or object.
            </summary>
      <seealso cref="T:SpreadsheetGear.LineStyle" />
    </member>
    <member name="P:SpreadsheetGear.IBorders.LineStyleDefined">
      <summary>
            Returns true if the <strong>LineStyle</strong> of all borders represented by this instance
            of <strong>IBorders</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IBorders.ThemeColor">
      <summary>
            Gets or sets the theme color of all borders represented by this instance
            of <strong>IBorders</strong>.
            </summary>
      <seealso cref="P:SpreadsheetGear.IBorders.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IBorders.ColorDefined" />
      <seealso cref="P:SpreadsheetGear.IBorders.Color" />
      <seealso cref="P:SpreadsheetGear.IBorders.ColorIndex" />
    </member>
    <member name="P:SpreadsheetGear.IBorders.TintAndShade">
      <summary>
            Gets or sets the property which controls darkening (values between -1.0 and 0.0) or lightening (values between 0.0 and 1.0) of the underlying theme color.
            </summary>
      <remarks>Setting this property will have no effect if the underlying color is not a theme color.</remarks>
      <seealso cref="P:SpreadsheetGear.IBorders.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IBorders.ColorDefined" />
    </member>
    <member name="P:SpreadsheetGear.IBorders.Weight">
      <summary>
            Gets or sets the <b>BorderWeight</b> of the
            borders of the represented cell, range or object.
            </summary>
      <seealso cref="T:SpreadsheetGear.BorderWeight" />
    </member>
    <member name="P:SpreadsheetGear.IBorders.WeightDefined">
      <summary>
            Returns true if the border weight of all borders represented by this instance
            of <strong>IBorders</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IBorder">
      <summary>
            Represents the color, style, and weight of a border.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IBorder.Color">
      <summary>
            Gets or sets the color of this border.
            </summary>
      <seealso cref="P:SpreadsheetGear.IBorder.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IBorder.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IBorder.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IBorder.ColorDefined" />
    </member>
    <member name="P:SpreadsheetGear.IBorder.ColorDefined">
      <summary>
            Returns true if the <strong>Color</strong>, <strong>ColorIndex</strong>, 
            <strong>ThemeColor</strong> and <strong>TintAndShade</strong> 
            properties of all objects represented by this border are
            the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.IBorder.Color" />
      <seealso cref="P:SpreadsheetGear.IBorder.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IBorder.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IBorder.TintAndShade" />
    </member>
    <member name="P:SpreadsheetGear.IBorder.ColorIndex">
      <summary>
            Gets or sets the zero based color index of this border.
            </summary>
      <seealso cref="T:SpreadsheetGear.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IBorder.Color" />
      <seealso cref="P:SpreadsheetGear.IBorder.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IBorder.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IBorder.ColorDefined" />
    </member>
    <member name="P:SpreadsheetGear.IBorder.LineStyle">
      <summary>
            Gets or sets the <b>LineStyle</b> of
            this border.
            </summary>
      <seealso cref="T:SpreadsheetGear.LineStyle" />
    </member>
    <member name="P:SpreadsheetGear.IBorder.LineStyleDefined">
      <summary>
            Returns true if the line style of all objects represented by this border is
            the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IBorder.ThemeColor">
      <summary>
            Gets or sets the theme color of this border.
            </summary>
      <seealso cref="P:SpreadsheetGear.IBorder.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IBorder.ColorDefined" />
      <seealso cref="P:SpreadsheetGear.IBorder.Color" />
      <seealso cref="P:SpreadsheetGear.IBorder.ColorIndex" />
    </member>
    <member name="P:SpreadsheetGear.IBorder.TintAndShade">
      <summary>
            Gets or sets the property which controls darkening (values between -1.0 and 0.0) or lightening (values between 0.0 and 1.0) of the underlying theme color.
            </summary>
      <remarks>Setting this property will have no effect if the underlying color is not a theme color.</remarks>
      <seealso cref="P:SpreadsheetGear.IBorder.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IBorder.ColorDefined" />
    </member>
    <member name="P:SpreadsheetGear.IBorder.Weight">
      <summary>
            Gets or sets the <b>BorderWeight</b> of this border.
            </summary>
      <seealso cref="T:SpreadsheetGear.BorderWeight" />
    </member>
    <member name="P:SpreadsheetGear.IBorder.WeightDefined">
      <summary>
            Returns true if the border weight of all objects represented by this border is
            the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IBorder.WorkbookSet">
      <summary>Returns the parent <strong>IWorkbookSet</strong> of this border.</summary>
    </member>
    <member name="T:SpreadsheetGear.ICharacters">
      <summary>Represents the font and text of a range of characters in a text cell or shape.</summary>
      <seealso cref="M:SpreadsheetGear.IRange.GetCharacters(System.Int32,System.Int32)" />
      <seealso cref="P:SpreadsheetGear.Shapes.ITextFrame.Characters" />
      <seealso cref="M:SpreadsheetGear.Shapes.ITextFrame.GetCharacters(System.Int32,System.Int32)" />
    </member>
    <member name="M:SpreadsheetGear.ICharacters.Delete">
      <summary>
            Deletes the text represented by this instance of <strong>ICharacters</strong>.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.ICharacters.Insert(System.String)">
      <summary>
            Replaces the text represented by this instance of <strong>ICharacters</strong>
            with the specified text.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.ICharacters.Count">
      <summary>
            Returns the number of characters represented by this instance of <strong>ICharacters</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.ICharacters.Font">
      <summary>
            Returns the font of the text represented by this instance of
            <strong>ICharacters</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.ICharacters.Text">
      <summary>
            Gets or replaces the text represented by this instance of <strong>ICharacters</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.ICharacters.WorkbookSet">
      <summary>
            Returns the parent <strong>IWorkbookSet</strong> of this instance of
            <strong>ICharacters</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IFont">
      <summary>
            Represents the font of a cell, range or object. Setting the properties of an
            instance of <strong>IFont</strong> modifies the font properties of the represented
            cell, range or object.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a workbook.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Get the worksheet and change the name.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    worksheet.Name = "2005 Sales";
                    // Get the worksheet cells reference.
                    SpreadsheetGear.IRange cells = worksheet.Cells;
                    // Add column headers.
                    cells["B1"].Formula = "Jan";
                    cells["C1"].Formula = "Feb";
                    cells["D1"].Formula = "Mar";
                    // Add row headers.
                    cells["A2"].Formula = "Jennifer";
                    cells["A3"].Formula = "William";
                    cells["A4"].Formula = "Kristen";
                    // Add random data.
                    cells["B2:D4"].Formula = "=RAND()*10000";
                    // Center the column headers.
                    cells["B1:D1"].HorizontalAlignment = SpreadsheetGear.HAlign.Center;
                    // Bold the row and column headers.
                    cells["B1:D1,A2:A4"].Font.Bold = true;
                    // Format the data as currency.
                    cells["B2:D4"].NumberFormat = "$#,##0";
                    // Write the workbook.
                    workbook.SaveAs("2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97);
                }
            }
                </code>
        <code lang="VB">
            Class Program
            {
                Static void Main()
                {
                    // Create a workbook.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Get the worksheet And change the name.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    worksheet.Name = "2005 Sales";
                    // Get the worksheet cells reference.
                    SpreadsheetGear.IRange cells = worksheet.Cells;
                    // Add column headers.
                    cells["B1"].Formula = "Jan";
                    cells["C1"].Formula = "Feb";
                    cells["D1"].Formula = "Mar";
                    // Add row headers.
                    cells["A2"].Formula = "Jennifer";
                    cells["A3"].Formula = "William";
                    cells["A4"].Formula = "Kristen";
                    // Add random Data.
                    cells["B2:D4"].Formula = "=RAND()*10000";
                    // Center the column headers.
                    cells["B1:D1"].HorizontalAlignment = SpreadsheetGear.HAlign.Center;
                    // Bold the row And column headers.
                    cells["B1:D1,A2:A4"].Font.Bold = True;
                    // Format the Data As Currency.
                    cells["B2:D4"].NumberFormat = "$#,##0";
                    // Write the workbook.
                    workbook.SaveAs("2005 Sales.xls", SpreadsheetGear.FileFormat.XLS97);
                }
            }
                </code>
      </example>
    </member>
    <member name="P:SpreadsheetGear.IFont.Bold">
      <summary>
            Gets or sets the boolean property indicating whether the represented text
            is bold.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.BoldDefined">
      <summary>
            Returns true if the <strong>Bold</strong> property of all text represented by this font
            is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.Color">
      <summary>
            Gets or sets the <strong>SpreadsheetGear.Color</strong> of the represented
            text.
            </summary>
      <seealso cref="P:SpreadsheetGear.IFont.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IFont.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IFont.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IFont.ColorDefined" />
    </member>
    <member name="P:SpreadsheetGear.IFont.ColorDefined">
      <summary>
            Returns true if the <strong>Color</strong>, <strong>ColorIndex</strong>, 
            <strong>ThemeColor</strong> and <strong>TintAndShade</strong> properties of all text represented by this font
            are the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.IFont.Color" />
      <seealso cref="P:SpreadsheetGear.IFont.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IFont.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IFont.TintAndShade" />
    </member>
    <member name="P:SpreadsheetGear.IFont.ColorIndex">
      <summary>
            Gets or sets the zero based color index of the
            represented text.
            </summary>
      <seealso cref="T:SpreadsheetGear.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IFont.Color" />
      <seealso cref="P:SpreadsheetGear.IFont.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IFont.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IFont.ColorDefined" />
    </member>
    <member name="P:SpreadsheetGear.IFont.Italic">
      <summary>
            Gets or sets the boolean property indicating whether the represented text
            is italicized.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.ItalicDefined">
      <summary>
            Returns true if the <strong>Italic</strong> property of all text represented by this font
            is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.Name">
      <summary>
            Gets or sets the font name to use for the
            represented text.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.NameDefined">
      <summary>
            Returns true if the <strong>Name</strong> property of all text represented by this font
            is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.OutlineFont">
      <summary>
            Gets or sets the boolean property indicating whether the represented text
            is outlined.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.OutlineFontDefined">
      <summary>
            Returns true if the <strong>OutlineFont</strong> property of all text represented by this font
            is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.Shadow">
      <summary>
            Gets or sets the boolean property indicating whether the represented text
            has a shadow.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.ShadowDefined">
      <summary>
            Returns true if the <strong>Shadow</strong> property of all text represented by this font
            is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.Size">
      <summary>
            Gets or sets the size of the font in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.SizeDefined">
      <summary>
            Returns true if the <strong>Size</strong> property of all text represented by this font
            is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.Strikethrough">
      <summary>
            Gets or sets the boolean property indicating whether the represented text
            has a strike through it.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.StrikethroughDefined">
      <summary>
            Returns true if the <strong>Strikethrough</strong> property of all text represented by this font
            is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.Subscript">
      <summary>
            Gets or sets the boolean property indicating whether the represented text
            is a subscript.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.SubscriptDefined">
      <summary>
            Returns true if the <strong>Subscript</strong> property of all text represented by this font
            is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.Superscript">
      <summary>
            Gets or sets the boolean property indicating whether the represented text
            is a superscript.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.SuperscriptDefined">
      <summary>
            Returns true if the superscript property of all text represented by this font
            is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.ThemeColor">
      <summary>
            Gets or sets the theme color of all text represented by this font.
            </summary>
      <seealso cref="P:SpreadsheetGear.IFont.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IFont.ColorDefined" />
      <seealso cref="P:SpreadsheetGear.IFont.Color" />
      <seealso cref="P:SpreadsheetGear.IFont.ColorIndex" />
    </member>
    <member name="P:SpreadsheetGear.IFont.TintAndShade">
      <summary>
            Gets or sets the property which controls darkening (values between -1.0 and 0.0) or lightening (values between 0.0 and 1.0) of the underlying theme color.
            </summary>
      <remarks>Setting this property will have no effect if the underlying color is not a theme color.</remarks>
      <seealso cref="P:SpreadsheetGear.IFont.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IFont.ColorDefined" />
    </member>
    <member name="P:SpreadsheetGear.IFont.Underline">
      <summary>
            Gets or sets the <strong>UnderlineStyle</strong> of the represented text.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.UnderlineDefined">
      <summary>
            Returns true if the <strong>Underline</strong> property of all text represented by this font
            is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFont.WorkbookSet">
      <summary>Returns the parent <strong>IWorkbookSet</strong> of this font.</summary>
    </member>
    <member name="T:SpreadsheetGear.IInterior">
      <summary>
            Represents the interior of a cell, range or object.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.Interior" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.Color">
      <summary>
            Gets or sets the <strong>SpreadsheetGear.Color</strong> of the represented
            interior.
            </summary>
      <seealso cref="P:SpreadsheetGear.IInterior.ColorDefined" />
      <seealso cref="P:SpreadsheetGear.IInterior.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IInterior.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IRange.Interior" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.ColorDefined">
      <summary>
            Returns true if the <strong>Color</strong>, <strong>ColorIndex</strong>, 
            <strong>ThemeColor</strong> and <strong>TintAndShade</strong> properties
            of all cells and/or objects represented by this interior
            are the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.IInterior.Color" />
      <seealso cref="P:SpreadsheetGear.IInterior.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IInterior.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IRange.Interior" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.ColorIndex">
      <summary>
            Gets or sets the zero based color index of the represented interior.
            </summary>
      <seealso cref="P:SpreadsheetGear.IInterior.ColorDefined" />
      <seealso cref="P:SpreadsheetGear.IInterior.Color" />
      <seealso cref="P:SpreadsheetGear.IInterior.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IRange.Interior" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.Pattern">
      <summary>
            Gets or sets the <strong>Pattern</strong> of the represented interior.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.Interior" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.PatternDefined">
      <summary>
            Returns true if the <strong>Pattern</strong> property of all cells and/or objects represented by this interior
            is the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.Interior" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.PatternColor">
      <summary>
            Gets or sets the <strong>SpreadsheetGear.Color</strong> of the pattern for the represented
            interior.
            </summary>
      <seealso cref="P:SpreadsheetGear.IInterior.PatternColorDefined" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternColorIndex" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternThemeColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternTintAndShade" />
      <seealso cref="P:SpreadsheetGear.IRange.Interior" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.PatternColorDefined">
      <summary>
            Returns true if the <strong>PatternColor</strong>, <strong>PatternColorIndex</strong>,
            <strong>PatternThemeColor</strong> and <strong>PatternTintAndShade</strong> properties 
            of all cells and/or objects represented by this interior
            are the same, otherwise false is returned.
            </summary>
      <seealso cref="P:SpreadsheetGear.IInterior.PatternColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternColorIndex" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternThemeColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternTintAndShade" />
      <seealso cref="P:SpreadsheetGear.IRange.Interior" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.PatternColorIndex">
      <summary>
            Gets or sets the color index of the pattern for the represented interior.
            </summary>
      <seealso cref="T:SpreadsheetGear.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternColorDefined" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternThemeColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IRange.Interior" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.PatternThemeColor">
      <summary>
            Gets or sets the theme color of the pattern for the represented interior.
            </summary>
      <seealso cref="P:SpreadsheetGear.IInterior.PatternTintAndShade" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternColorDefined" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternColorIndex" />
      <seealso cref="P:SpreadsheetGear.IRange.Interior" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.PatternTintAndShade">
      <summary>
            Gets or sets the property which controls darkening (values between -1.0 and 0.0) or lightening (values between 0.0 and 1.0) of the underlying theme color.
            </summary>
      <remarks>Setting this property will have no effect if the underlying color is not a theme color.</remarks>
      <seealso cref="P:SpreadsheetGear.IInterior.PatternThemeColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.ColorDefined" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.ThemeColor">
      <summary>
            Gets or sets the theme color of the represented interior.
            </summary>
      <seealso cref="P:SpreadsheetGear.IInterior.TintAndShade" />
      <seealso cref="P:SpreadsheetGear.IInterior.ColorDefined" />
      <seealso cref="P:SpreadsheetGear.IInterior.Color" />
      <seealso cref="P:SpreadsheetGear.IInterior.ColorIndex" />
      <seealso cref="P:SpreadsheetGear.IRange.Interior" />
    </member>
    <member name="P:SpreadsheetGear.IInterior.TintAndShade">
      <summary>
            Gets or sets the property which controls darkening (values between -1.0 and 0.0) or lightening (values between 0.0 and 1.0) of the underlying theme color.
            </summary>
      <remarks>Setting this property will have no effect if the underlying color is not a theme color.</remarks>
      <seealso cref="P:SpreadsheetGear.IInterior.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.ColorDefined" />
    </member>
    <member name="T:SpreadsheetGear.IFormatConditions">
      <summary>
            Represents the conditional formats associated with a range.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.FormatConditions" />
    </member>
    <member name="M:SpreadsheetGear.IFormatConditions.Add(SpreadsheetGear.FormatConditionType,SpreadsheetGear.FormatConditionOperator,System.String,System.String)">
      <summary>
            Adds a new conditional format to the represented range with the specified type, operator and formula(s).
            </summary>
      <param name="type">Specifies the type for the new conditional format.</param>
      <param name="formatConditionOperator">Specifies the operator of the conditional format.</param>
      <param name="formula1">Specifies the first formula of the conditional format.</param>
      <param name="formula2">Specifies the second formula of the conditional format.</param>
      <returns>The new conditional format.</returns>
    </member>
    <member name="M:SpreadsheetGear.IFormatConditions.Delete">
      <summary>
            Deletes all conditional formats associated with the represented range.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFormatConditions.Item(System.Int32)">
      <summary>
            Returns the conditional format specified by the zero-based index.
            </summary>
      <param name="index">The zero-based index of the conditional format to return.</param>
      <returns>The specified conditional format.</returns>
    </member>
    <member name="P:SpreadsheetGear.IFormatConditions.Count">
      <summary>
            Returns the number of conditional formats associated with the represented range.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IFormatCondition">
      <summary>
            Represents a conditional format.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.IFormatCondition.Delete">
      <summary>
            Deletes this conditional format.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.IFormatCondition.Modify(SpreadsheetGear.FormatConditionType,SpreadsheetGear.FormatConditionOperator,System.String,System.String)">
      <summary>
            Modifies this conditional format with the specified type, operator and formula(s).
            </summary>
      <param name="type">Specifies the new type for this conditional format.</param>
      <param name="formatConditionOperator">Specifies the new operator for this conditional format.</param>
      <param name="formula1">Specifies the new first formula for this conditional format.</param>
      <param name="formula2">Specifies the new second formula for this conditional format.</param>
    </member>
    <member name="P:SpreadsheetGear.IFormatCondition.Borders">
      <summary>
            Returns an instance of <strong>IBorders</strong> which represents the
            borders of this conditional format.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFormatCondition.Font">
      <summary>
            Returns an instance of <strong>IFont</strong> which represents the
            font of this conditional format.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFormatCondition.Formula1">
      <summary>
            Returns the first formula of this conditional format.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFormatCondition.Formula2">
      <summary>
            Returns the second formula of this conditional format.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFormatCondition.Interior">
      <summary>
            Returns an instance of <strong>IInterior</strong> which represents the
            background color of this conditional format.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFormatCondition.Operator">
      <summary>
            Returns the operator of this conditional format.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IFormatCondition.Type">
      <summary>
            Returns the type of this conditional format.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IValidation">
      <summary>
            Represents the data validation associated with a range of cells.
            </summary>
      <remarks>
        <para>
                    With the exception of <see cref="P:SpreadsheetGear.IValidation.Value" /> and <see cref="M:SpreadsheetGear.IValidation.Delete" />,
                    data validation properties and methods cannot be used unless all of the
                    represented cells currently have the same data validation criteria.
                </para>
        <para>
                    Use <see cref="P:SpreadsheetGear.IValidation.Value" /> to determine whether the represented cells meet
                    their data validation criteria.
                </para>
        <para>
                    Use <see cref="M:SpreadsheetGear.IValidation.Add(SpreadsheetGear.ValidationType,SpreadsheetGear.ValidationAlertStyle,SpreadsheetGear.ValidationOperator,System.String,System.String)" /> to add data validation to cells which currently have
                    no data validation.
                </para>
        <para>
                    Use <see cref="M:SpreadsheetGear.IValidation.Modify(SpreadsheetGear.ValidationType,SpreadsheetGear.ValidationAlertStyle,SpreadsheetGear.ValidationOperator,System.String,System.String)" /> to modify data validation settings of cells which
                    already have data validation.
                </para>
        <para>
                    Use <see cref="M:SpreadsheetGear.IValidation.Delete" /> to delete all data validation criteria currently
                    associated with the represented cells.
                </para>
        <para>
                    Use <see cref="P:SpreadsheetGear.IValidation.InputMessage" /> and <see cref="P:SpreadsheetGear.IValidation.InputTitle" /> to get
                    and set the input message to be displayed when one of the represented cells is
                    active.
                </para>
        <para>
                    Use <see cref="P:SpreadsheetGear.IValidation.ErrorMessage" /> and <see cref="P:SpreadsheetGear.IValidation.ErrorTitle" /> to get
                    and set the error message to be displayed when data validation fails.
                </para>
      </remarks>
    </member>
    <member name="M:SpreadsheetGear.IValidation.Add(SpreadsheetGear.ValidationType,SpreadsheetGear.ValidationAlertStyle,SpreadsheetGear.ValidationOperator,System.String,System.String)">
      <summary>
            Adds data validation to a range of cells using the specified options.
            </summary>
      <param name="type">Specifies the type of data validation to add.</param>
      <param name="alertStyle">Specifies the alert style to use for alert messages.</param>
      <param name="validationOperator">Specifies the data validation operator.</param>
      <param name="formula1">Specifies the first data validation value, formula or list.</param>
      <param name="formula2">Specifies the second data validation value for <strong>ValidationOperator.Between</strong> or
            <strong>ValidationOperator.NotBetween</strong>.</param>
    </member>
    <member name="M:SpreadsheetGear.IValidation.Modify(SpreadsheetGear.ValidationType,SpreadsheetGear.ValidationAlertStyle,SpreadsheetGear.ValidationOperator,System.String,System.String)">
      <summary>
            Modifies existing data validation for a range of cells using the specified options.
            </summary>
      <param name="type">Specifies the new type of data validation.</param>
      <param name="alertStyle">Specifies the alert style to use for alert messages.</param>
      <param name="validationOperator">Specifies the new data validation operator.</param>
      <param name="formula1">Specifies the first data validation value, formula or list.</param>
      <param name="formula2">Specifies the second data validation value for <strong>ValidationOperator.Between</strong> or
            <strong>ValidationOperator.NotBetween</strong>.</param>
    </member>
    <member name="M:SpreadsheetGear.IValidation.Delete">
      <summary>
            Deletes data validation
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IValidation.AlertStyle">
      <summary>
            Gets the alert style to be used when validation fails.
            </summary>
      <seealso cref="P:SpreadsheetGear.IValidation.ShowError" />
      <seealso cref="P:SpreadsheetGear.IValidation.ErrorMessage" />
      <seealso cref="P:SpreadsheetGear.IValidation.ErrorTitle" />
    </member>
    <member name="P:SpreadsheetGear.IValidation.ErrorMessage">
      <summary>
            Gets or sets the error message to display when validation fails.
            </summary>
      <seealso cref="P:SpreadsheetGear.IValidation.ShowError" />
      <seealso cref="P:SpreadsheetGear.IValidation.ErrorTitle" />
      <seealso cref="P:SpreadsheetGear.IValidation.AlertStyle" />
    </member>
    <member name="P:SpreadsheetGear.IValidation.ErrorTitle">
      <summary>
            Gets or sets the error title to display when validation fails.
            </summary>
      <seealso cref="P:SpreadsheetGear.IValidation.ShowError" />
      <seealso cref="P:SpreadsheetGear.IValidation.ErrorMessage" />
      <seealso cref="P:SpreadsheetGear.IValidation.AlertStyle" />
    </member>
    <member name="P:SpreadsheetGear.IValidation.Formula1">
      <summary>
            Returns the first validation formula.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IValidation.Formula2">
      <summary>
            Returns the second validation formula.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IValidation.IgnoreBlank">
      <summary>
            Gets or sets the property which specifies whether validation should be skipped if either
            validation formula refers to a blank cell.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IValidation.InCellDropdown">
      <summary>
            Gets or sets the property which specifies whether an in-cell dropdown listbox should be used
            for validation with a <strong>ValidationType</strong> of <strong>ValidationType.List</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IValidation.InputMessage">
      <summary>
            Gets or sets the input message to be displayed when one of the represented cells is active.
            </summary>
      <seealso cref="P:SpreadsheetGear.IValidation.ShowInputMessage" />
      <seealso cref="P:SpreadsheetGear.IValidation.InputTitle" />
    </member>
    <member name="P:SpreadsheetGear.IValidation.InputTitle">
      <summary>
            Gets or sets the input title to be displayed when one of the represented cells is active.
            </summary>
      <seealso cref="P:SpreadsheetGear.IValidation.ShowInputMessage" />
      <seealso cref="P:SpreadsheetGear.IValidation.InputMessage" />
    </member>
    <member name="P:SpreadsheetGear.IValidation.Operator">
      <summary>
            Returns the <strong>ValidationOperator</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IValidation.ShowError">
      <summary>
            Gets or sets the property which specifies whether errors should be shown when validation fails.
            </summary>
      <seealso cref="P:SpreadsheetGear.IValidation.ErrorMessage" />
      <seealso cref="P:SpreadsheetGear.IValidation.ErrorTitle" />
      <seealso cref="P:SpreadsheetGear.IValidation.AlertStyle" />
    </member>
    <member name="P:SpreadsheetGear.IValidation.ShowInputMessage">
      <summary>
            Gets or sets the property which specifies whether an input message should be displayed when one of the represented cells is active.
            </summary>
      <seealso cref="P:SpreadsheetGear.IValidation.InputMessage" />
      <seealso cref="P:SpreadsheetGear.IValidation.InputTitle" />
    </member>
    <member name="P:SpreadsheetGear.IValidation.Type">
      <summary>
            Returns the type of validation.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IValidation.Value">
      <summary>
            Returns <strong>true</strong> if all represented cells meet their validation criteria.
            </summary>
      <remarks>
        <para>This property behaves differently than other properties in this interface.
                The represented cells may have any number of different data validation criteria or
                no data validation criteria.</para>
        <para>Cells with no data and cells with no data validation criteria are
                ignored.</para>
        <para>To determine which of the represented cells fails data validation requires
                checking the cells individually.</para>
      </remarks>
    </member>
    <member name="T:SpreadsheetGear.IWorksheetWindowInfo">
      <summary>
            Represents worksheet specific window information.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
      <seealso cref="T:SpreadsheetGear.IWorkbookWindowInfo" />
      <example>
        <code lang="CS">
                    // Demonstrates creating a workbook with frozen panes
                    // using IWindowInfo.FreezePanes.
                    internal static void FreezePanes()
                    {
                        // Create a workbook.
                        SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                        SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets[0];
                        worksheet.Name = "Freeze Panes";
             
                        // Split after column "C" (ScrollColumn is zero based).
                        worksheet.WindowInfo.ScrollColumn = 2;
                        worksheet.WindowInfo.SplitColumns = 1;
             
                        // Split after row 2 (ScrollRow is zero based).
                        worksheet.WindowInfo.ScrollRow = 1;
                        worksheet.WindowInfo.SplitRows = 1;
             
                        // Freeze the panes.
                        worksheet.WindowInfo.FreezePanes = true;
             
                        // Select the first non-frozen cell.
                        SpreadsheetGear.IRange d3 = worksheet.Cells["D3"];
                        d3.Select();
             
                        // Enter some data in the frozen rows/cols.
                        worksheet.Cells["C2"].Value = "Worksheet Title";
                        worksheet.Cells["D2"].Value = "Column Title";
                        worksheet.Cells["C3"].Value = "Row Title";
             
                        // Enter some data in D3, format the cell, and unlock the cell 
                        // so it can bew edited after setting worksheet.ProtectContents to true.
                        d3.Value = "Edit Me";
                        SpreadsheetGear.IFont font = d3.Font;
                        font.Name = "Tahoma";
                        font.Size = 16.0;
                        font.Color = SpreadsheetGear.Colors.Blue;
                        d3.Locked = false;
             
                        // Autofit the columns.
                        worksheet.UsedRange.Columns.AutoFit();
             
                        // Auto size the columns.
                        // Protect locked ce4lls.
                        worksheet.ProtectContents = true;
             
                        // Save the workbook.
                        workbook.SaveAs(@"c:\FreezePanes.xls", SpreadsheetGear.FileFormat.XLS97);
                    }
                </code>
        <code lang="VB">
                    ' Demonstrates creating a workbook with frozen panes
                    ' using IWindowInfo.FreezePanes.
                    Friend Shared Sub FreezePanes()
                        ' Create a workbook.
                        Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                        Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets(0)
                        worksheet.Name = "Freeze Panes"
             
                        ' Split after column "C" (ScrollColumn is zero based).
                        worksheet.WindowInfo.ScrollColumn = 2
                        worksheet.WindowInfo.SplitColumns = 1
             
                        ' Split after row 2 (ScrollRow is zero based).
                        worksheet.WindowInfo.ScrollRow = 1
                        worksheet.WindowInfo.SplitRows = 1
             
                        ' Freeze the panes.
                        worksheet.WindowInfo.FreezePanes = True
             
                        ' Select the first non-frozen cell.
                        Dim d3 As SpreadsheetGear.IRange = worksheet.Cells("D3")
                        d3.Select()
             
                        ' Enter some data in the frozen rows/cols.
                        worksheet.Cells("C2").Value = "Worksheet Title"
                        worksheet.Cells("D2").Value = "Column Title"
                        worksheet.Cells("C3").Value = "Row Title"
             
                        ' Enter some data in D3, format the cell, and unlock the cell 
                        ' so it can bew edited after setting worksheet.ProtectContents to true.
                        d3.Value = "Edit Me"
                        Dim font As SpreadsheetGear.IFont = d3.Font
                        font.Name = "Tahoma"
                        font.Size = 16.0
                        font.Color = SpreadsheetGear.Colors.Blue
                        d3.Locked = False
             
                        ' Autofit the columns.
                        worksheet.UsedRange.Columns.AutoFit()
             
                        ' Auto size the columns.
                        ' Protect locked ce4lls.
                        worksheet.ProtectContents = True
             
                        ' Save the workbook.
                        workbook.SaveAs("c:\freezepanevb.xls", SpreadsheetGear.FileFormat.XLS97)
                    End Sub 'FreezePanes '
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)">
      <summary>
            Converts from a zero based fractional column position to points (1/72 of an inch).
            </summary>
      <returns>
        <para>The distance in points from the left edge of the first column of the
                worksheet to the zero based fractional column position.</para>
        <ul class="noindent">
          <li>0.0 is the left edge of the first column.</li>
          <li>0.5 is the center of the first column.</li>
          <li>1.0 is the left edge of the second column.</li>
        </ul>
      </returns>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.PointsToColumn(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.PointsToRow(System.Double)" />
      <param name="column">The fractional column position to convert.</param>
    </member>
    <member name="M:SpreadsheetGear.IWorksheetWindowInfo.PointsToColumn(System.Double)">
      <summary>
            Converts from points (1/72 of an inch) to a zero based fractional column position.
            </summary>
      <param name="x">The distance in points from the left edge of the first column of the worksheet.</param>
      <returns>The zero based fractional column position of the specified location.</returns>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.PointsToRow(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" />
    </member>
    <member name="M:SpreadsheetGear.IWorksheetWindowInfo.PointsToRow(System.Double)">
      <summary>
            Converts from points (1/72 of an inch) to a zero based fractional row position.
            </summary>
      <param name="y">The distance in points from the top of the first row of the worksheet.</param>
      <returns>The zero based fractional row position of the specified location.</returns>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.PointsToColumn(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" />
    </member>
    <member name="M:SpreadsheetGear.IWorksheetWindowInfo.RowToPoints(System.Double)">
      <summary>
            Converts from a zero based fractional row position to points (1/72 of an inch).
            </summary>
      <returns>
        <para>The distance in points from the top of the first row of the worksheet to the
                zero based fractional row position.</para>
        <list type="bullet">
          <item>0.0 is the top of the first row.</item>
          <item>0.5 is the center of the first row.</item>
          <item>1.0 is the top of the second row.</item>
        </list>
      </returns>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.PointsToRow(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.ColumnToPoints(System.Double)" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.PointsToColumn(System.Double)" />
      <param name="row">The fractional row position to convert.</param>
    </member>
    <member name="M:SpreadsheetGear.IWorksheetWindowInfo.SetSelection(SpreadsheetGear.IRange,SpreadsheetGear.IRange,System.Int32)">
      <summary>
            Selects the specified range and activates the specified cell.
            </summary>
      <param name="selection">The <see cref="T:SpreadsheetGear.IRange" /> to select.</param>
      <param name="activeCell">The <see cref="T:SpreadsheetGear.IRange" /> of the active cell.</param>
      <param name="activeCellAreaIndex">The index of the area within the selection for the active cell.</param>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCell" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCellAreaIndex" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.RangeSelection" />
      <seealso cref="M:SpreadsheetGear.IRange.Activate" />
      <seealso cref="M:SpreadsheetGear.IRange.Select" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.SetSelection(SpreadsheetGear.Shapes.IShapeRange,System.Boolean)" />
    </member>
    <member name="M:SpreadsheetGear.IWorksheetWindowInfo.SetSelection(SpreadsheetGear.Shapes.IShapeRange,System.Boolean)">
      <summary>
            Selects the specified shapes, replacing the currently selected shapes if <strong>replace</strong> is <strong>true</strong>.
            </summary>
      <param name="selection">Specifies the shapes to select.</param>
      <param name="replace">Specifies whether the currently selected shapes should be replaced (unselected).</param>
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.SetSelection(SpreadsheetGear.IRange,SpreadsheetGear.IRange,System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCell">
      <summary>
            Returns an instance of <strong>IRange</strong> representing the active cell.
            </summary>
      <remarks>
        <para>The active cell is the single active cell within the current selection. To
                retrieve the entire selection, use the <strong>RangeSelection</strong>
                property.</para>
        <para>To set the active cell, use the <strong>IRange.Activate()</strong>
                method.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCellAreaIndex" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.RangeSelection" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.SetSelection(SpreadsheetGear.IRange,SpreadsheetGear.IRange,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.IRange.Activate" />
      <seealso cref="M:SpreadsheetGear.IRange.Select" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCellAreaIndex">
      <summary>
            Returns the index of the area of the active cell.
            </summary>
      <remarks>
            A selection may contain multiple areas. This property returns the index
            of the area which contains the active cell within the selection.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCell" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.RangeSelection" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.SetSelection(SpreadsheetGear.IRange,SpreadsheetGear.IRange,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.IRange.Activate" />
      <seealso cref="M:SpreadsheetGear.IRange.Select" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.ActivePane">
      <summary>
            Returns the active pane.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.DisplayFormulas">
      <summary>
            Gets or sets the property which specifies whether formulas are displayed in worksheet cells instead of values.
            </summary>
      <remarks>
            Setting this property to <strong>true</strong> also causes columns to be displayed at twice their specified width.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.DisplayGridlines">
      <summary>
            Gets or sets the property which specifies whether gridlines are displayed for the worksheet.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.DisplayHeadings">
      <summary>
            Gets or sets the property which specifies whether row and column headings are displayed for the worksheet.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.DisplayOutline">
      <summary>
            Gets or sets the property which specifies whether outlines are displayed for the worksheet.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.DisplayRightToLeft">
      <summary>
            Returns true if the worksheet is displayed right to left.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.DisplayZeros">
      <summary>
            Gets or sets the property which specifies whether zero values are displayed for the worksheet.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.FreezePanes">
      <summary>
            Gets or sets the property which specifies whether window panes are frozen for the worksheet.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
      <example>
        <code lang="CS">
                    // Demonstrates creating a workbook with frozen panes
                    // using IWindowInfo.FreezePanes.
                    internal static void FreezePanes()
                    {
                        // Create a workbook.
                        SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                        SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets[0];
                        worksheet.Name = "Freeze Panes";
             
                        // Split after column "C" (ScrollColumn is zero based).
                        worksheet.WindowInfo.ScrollColumn = 2;
                        worksheet.WindowInfo.SplitColumns = 1;
             
                        // Split after row 2 (ScrollRow is zero based).
                        worksheet.WindowInfo.ScrollRow = 1;
                        worksheet.WindowInfo.SplitRows = 1;
             
                        // Freeze the panes.
                        worksheet.WindowInfo.FreezePanes = true;
             
                        // Select the first non-frozen cell.
                        SpreadsheetGear.IRange d3 = worksheet.Cells["D3"];
                        d3.Select();
             
                        // Enter some data in the frozen rows/cols.
                        worksheet.Cells["C2"].Value = "Worksheet Title";
                        worksheet.Cells["D2"].Value = "Column Title";
                        worksheet.Cells["C3"].Value = "Row Title";
             
                        // Enter some data in D3, format the cell, and unlock the cell 
                        // so it can bew edited after setting worksheet.ProtectContents to true.
                        d3.Value = "Edit Me";
                        SpreadsheetGear.IFont font = d3.Font;
                        font.Name = "Tahoma";
                        font.Size = 16.0;
                        font.Color = SpreadsheetGear.Colors.Blue;
                        d3.Locked = false;
             
                        // Autofit the columns.
                        worksheet.UsedRange.Columns.AutoFit();
             
                        // Auto size the columns.
                        // Protect locked ce4lls.
                        worksheet.ProtectContents = true;
             
                        // Save the workbook.
                        workbook.SaveAs(@"c:\FreezePanes.xls", SpreadsheetGear.FileFormat.XLS97);
                    }
                </code>
        <code lang="VB">
                    ' Demonstrates creating a workbook with frozen panes
                    ' using IWindowInfo.FreezePanes.
                    Friend Shared Sub FreezePanes()
                        ' Create a workbook.
                        Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                        Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets(0)
                        worksheet.Name = "Freeze Panes"
             
                        ' Split after column "C" (ScrollColumn is zero based).
                        worksheet.WindowInfo.ScrollColumn = 2
                        worksheet.WindowInfo.SplitColumns = 1
             
                        ' Split after row 2 (ScrollRow is zero based).
                        worksheet.WindowInfo.ScrollRow = 1
                        worksheet.WindowInfo.SplitRows = 1
             
                        ' Freeze the panes.
                        worksheet.WindowInfo.FreezePanes = True
             
                        ' Select the first non-frozen cell.
                        Dim d3 As SpreadsheetGear.IRange = worksheet.Cells("D3")
                        d3.Select()
             
                        ' Enter some data in the frozen rows/cols.
                        worksheet.Cells("C2").Value = "Worksheet Title"
                        worksheet.Cells("D2").Value = "Column Title"
                        worksheet.Cells("C3").Value = "Row Title"
             
                        ' Enter some data in D3, format the cell, and unlock the cell 
                        ' so it can bew edited after setting worksheet.ProtectContents to true.
                        d3.Value = "Edit Me"
                        Dim font As SpreadsheetGear.IFont = d3.Font
                        font.Name = "Tahoma"
                        font.Size = 16.0
                        font.Color = SpreadsheetGear.Colors.Blue
                        d3.Locked = False
             
                        ' Autofit the columns.
                        worksheet.UsedRange.Columns.AutoFit()
             
                        ' Auto size the columns.
                        ' Protect locked ce4lls.
                        worksheet.ProtectContents = True
             
                        ' Save the workbook.
                        workbook.SaveAs("c:\freezepanevb.xls", SpreadsheetGear.FileFormat.XLS97)
                    End Sub 'FreezePanes '
                </code>
      </example>
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.GridlineColor">
      <summary>
            Gets or sets the color to use for gridlines.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.GridlineColorIndex">
      <summary>
            Gets or sets the index of the color to use for gridlines.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.Panes">
      <summary>
            Returns the collection of window panes associated with the worksheet.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.RangeSelection">
      <summary>
            Gets or sets the range selection associated with this <strong>IWorksheetWindowInfo</strong>.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCell" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.ActiveCellAreaIndex" />
      <seealso cref="M:SpreadsheetGear.IWorksheetWindowInfo.SetSelection(SpreadsheetGear.IRange,SpreadsheetGear.IRange,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.IRange.Activate" />
      <seealso cref="M:SpreadsheetGear.IRange.Select" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.ShapeSelection">
      <summary>
            Gets or sets the shape selection associated with this <strong>IWorksheetWindowInfo</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.ScrollColumn">
      <summary>
            Gets or sets the left column displayed in the window.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.ScrollRow">
      <summary>
            Gets or sets the top row displayed in the window.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.SplitColumns">
      <summary>
            Gets or sets the number of columns displayed to the left of the split.
            </summary>
      <remarks>
            Note that this property is named SplitColumn in Excel. It has
            been renamed in SpreadsheetGear due to the fact that it is
            a count of columns rather than a column number.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.SplitHorizontal">
      <summary>
            Gets or sets the position of the horizontal split in points.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.SplitRows">
      <summary>
            Gets or sets the number of rows displayed above the split.
            </summary>
      <remarks>
            Note that this property is named SplitRow in Excel. It has
            been renamed in SpreadsheetGear due to the fact that it is
            a count of rows rather than a row number.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.SplitVertical">
      <summary>
            Gets or sets the position of the vertical split in points.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.View">
      <summary>
            Gets or sets whether the worksheet is viewed normally or in page break preview mode.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.Worksheet">
      <summary>
            Gets the worksheet which this window information refers to.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorksheetWindowInfo.Zoom">
      <summary>
            Gets or sets the scaling factor for displaying in a window.
            </summary>
      <remarks>
            A value of 100 specifies 100% of normal size. <strong>Zoom</strong>
            must be between 10 and 400.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="T:SpreadsheetGear.IPanes">
      <summary>
            Represents the collection of window panes associated with a worksheet.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.Panes" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
      <seealso cref="T:SpreadsheetGear.IPane" />
    </member>
    <member name="P:SpreadsheetGear.IPanes.Item(System.Int32)">
      <summary>
            Returns the specified window pane.
            </summary>
      <seealso cref="T:SpreadsheetGear.IPane" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.Panes" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IPanes.Count">
      <summary>
            Returns the number of windows panes associated with a worksheet.
            </summary>
      <seealso cref="T:SpreadsheetGear.IPane" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.Panes" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="T:SpreadsheetGear.IPane">
      <summary>
            Represents a worksheet window pane.
            </summary>
      <seealso cref="T:SpreadsheetGear.IPanes" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.Panes" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="M:SpreadsheetGear.IPane.Activate">
      <summary>
            Sets this pane as the active pane.
            </summary>
      <seealso cref="T:SpreadsheetGear.IPanes" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.Panes" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IPane.Index">
      <summary>
            Returns the index of this pane.
            </summary>
      <remarks>
        <para>If the window has four panes, the values returned by index are:</para>
        <para>Upper left = 0</para>
        <para>Upper right = 1</para>
        <para>Lower left = 2</para>
        <para>Lower right = 3</para>
        <para>If the window has two panes, the top or left pane is 0 and the bottom or
                right pane is 1.</para>
        <para>If the window has one pane, <strong>Index</strong> returns 0.</para>
      </remarks>
      <seealso cref="T:SpreadsheetGear.IPanes" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.Panes" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IPane.ScrollColumn">
      <summary>
            Gets or sets the first column displayed in this pane.
            </summary>
      <seealso cref="T:SpreadsheetGear.IPanes" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.Panes" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="P:SpreadsheetGear.IPane.ScrollRow">
      <summary>
            Gets or sets the first row displayed in this pane.
            </summary>
      <seealso cref="T:SpreadsheetGear.IPanes" />
      <seealso cref="P:SpreadsheetGear.IWorksheetWindowInfo.Panes" />
      <seealso cref="P:SpreadsheetGear.IWorksheet.WindowInfo" />
    </member>
    <member name="T:SpreadsheetGear.IAutoFilter">
      <summary>
            Represents the autofilter options of a worksheet.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorksheet.AutoFilter" />
    </member>
    <member name="T:SpreadsheetGear.IFilter">
      <summary>
            Represents an individual filter associated with a set of autofilters.
            </summary>
      <seealso cref="P:SpreadsheetGear.IAutoFilter.Filters" />
      <seealso cref="T:SpreadsheetGear.IAutoFilter" />
    </member>
    <member name="T:SpreadsheetGear.IFilters">
      <summary>
            Represents the collection of filters associated with the autofilter of a worksheet.
            </summary>
      <seealso cref="P:SpreadsheetGear.IAutoFilter.Filters" />
      <seealso cref="T:SpreadsheetGear.IAutoFilter" />
    </member>
    <member name="T:SpreadsheetGear.Shapes.ITextFrame">
      <summary>
            Represents the text associated with a shape.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="M:SpreadsheetGear.Shapes.ITextFrame.GetCharacters(System.Int32,System.Int32)">
      <summary>
            Returns an instance of <strong>ICharacters</strong> representing the specified text associated with a shape.
            </summary>
      <param name="start">The zero based index of the first character.</param>
      <param name="length">The length of the text.</param>
      <seealso cref="P:SpreadsheetGear.Shapes.ITextFrame.Characters" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.AutoMargins">
      <summary>
            Deprecated - this property is no longer supported by Excel 2007 or by SpreadsheetGear.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.AutoMarginsDefined">
      <summary>
            Returns true if the <strong>AutoMargins</strong> property of all shapes represented
            by this <strong>ITextFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.AutoSize">
      <summary>
            Gets or sets the property which specifies whether the size of the associated shape will increase
            to display all of the text in the shape.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.AutoSizeDefined">
      <summary>
            Returns true if the <strong>AutoSize</strong> property of all shapes represented
            by this <strong>ITextFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.Characters">
      <summary>
            Returns an instance of <strong>ICharacters</strong> representing all of the text associated with a shape.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.ITextFrame.GetCharacters(System.Int32,System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.MarginTop">
      <summary>
            Gets or sets the size of the top margin of this text frame in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.MarginTopDefined">
      <summary>
            Returns true if the <strong>MarginTop</strong> property of all shapes represented
            by this <strong>ITextFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.MarginLeft">
      <summary>
            Gets or sets the size of the left margin of this text frame in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.MarginLeftDefined">
      <summary>
            Returns true if the <strong>MarginLeft</strong> property of all shapes represented
            by this <strong>ITextFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.MarginBottom">
      <summary>
            Gets or sets the size of the bottom margin of this text frame in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.MarginBottomDefined">
      <summary>
            Returns true if the <strong>MarginBottom</strong> property of all shapes represented
            by this <strong>ITextFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.MarginRight">
      <summary>
            Gets or sets the size of the right margin of this text frame in points.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.MarginRightDefined">
      <summary>
            Returns true if the <strong>MarginRight</strong> property of all shapes represented
            by this <strong>ITextFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.HorizontalAlignment">
      <summary>
            Gets or sets the horizontal alignment of this text frame.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.HorizontalAlignmentDefined">
      <summary>
            Returns true if the <strong>HorizontalAlignment</strong> property of all shapes represented
            by this <strong>ITextFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.LockText">
      <summary>
            Gets or sets the property which specifies whether text will be locked
            when sheet protection is enabled.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.LockTextDefined">
      <summary>
            Returns true if the <strong>LockText</strong> property of all shapes represented
            by this <strong>ITextFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.Orientation">
      <summary>
            Gets or sets the text orientation of this text frame.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.OrientationDefined">
      <summary>
            Returns true if the <strong>Orientation</strong> property of all shapes represented
            by this <strong>ITextFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.VerticalAlignment">
      <summary>
            Gets or sets the vertical alignment of this text frame.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.ITextFrame.VerticalAlignmentDefined">
      <summary>
            Returns true if the <strong>VerticalAlignment</strong> property of all shapes represented
            by this <strong>ITextFormat</strong> is the same, otherwise false is returned.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IChartSheet">
      <summary>
            Represents a chart sheet.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IChartSheet.Chart">
      <summary>
            Returns an instance of <strong>IChart</strong> which represents the chart of this chart sheet.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IDialogSheet">
      <summary>
            Represents a dialog sheet in a workbook.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.CustomFunctions.IArguments">
      <summary>
            Represents the arguments of a custom function to the
            <strong>Function.Evaluate()</strong> method.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.IArguments.ClearError">
      <summary>
            Clears errors associated with the custom function which is currently being evaluated.
            </summary>
      <remarks>
        <para>
                    Typically, the first error seen in any argument to a custom function will be
                    the result of the custom function. To override this behavior, call
                    <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.ClearError" /> after finishing all access to function arguments.
                </para>
        <para>
                    Note: Accessing function arguments after calling <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.ClearError" />
                    will result in undefined behavior.
                </para>
        <para>The recommended practice for overriding default error handling is to:</para>
        <list type="bullet">
          <item>Finish all access to arguments.</item>
          <item>
                        Call <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.ClearError" />.
                    </item>
          <item>Set the return value.</item>
        </list>
      </remarks>
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayDimensions(System.Int32,System.Int32@,System.Int32@)">
      <summary>
            Returns the dimensions, consisting of the number of rows and columns, of the
            specified argument.
            </summary>
      <remarks>
            This method returns the dimensions of ranges and arrays. For simple values, one
            is returned for rows and columns.
            </remarks>
      <example>
        <code lang="CS">
            using System; using DevTeam;
            using SpreadsheetGear;
             
            namespace ConsoleApplication
            {
                /// &lt;summary&gt;
                /// Demonstrate a custom function which sums the range of cells or values passed to it.
                /// &lt;/summary&gt;
                class Program
                {
                    static void Main(string[] args)
                    {
                        // Create a new empty workbook.
                        IWorkbookSet workbookSet = Factory.GetWorkbookSet();
                        
                        // Add the custom function to the workbook set. 
                        workbookSet.Add(MySum.MySumSingleton);
             
                        // Add a workbook to the workbook set.
                        IWorkbook workbook = workbookSet.Workbooks.Add();
                    
                        // Get the first sheet and it's cells
                        SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets[0]; 
                        SpreadsheetGear.IRange cells = worksheet.Cells;
                    
                        // Assign values and formulas to cells.
                        cells["A1"].Value = 1; 
                        // The OFFSET(...) function enables creation of a range equal to 
                        // the number of rows which have values in column A and one column.
                        cells["B1"].Formula = "=MYSUM(OFFSET(A1,0,0,COUNT(A:A),1))";
             
                        Console.WriteLine("Result calculated from MYSUM  =  " + cells["B1"].Value + " (should be 1).");
             
                        // Add another value to column A.
                        cells["A2"].Value = 2;
             
                        Console.WriteLine("Result calculated from MYSUM  =  " + cells["B1"].Value + " (should be 3).");
                    }
                }
                
                // A simple SUM custom function. 
                public class MySum : SpreadsheetGear.CustomFunctions.Function 
                { 
                    // Set to the one and only instance of MySum. 
                    public static readonly MySum MySumSingleton = new MySum(); 
              
                    // Sum the numbers in a range or array. 
                    public override void Evaluate( 
                        SpreadsheetGear.CustomFunctions.IArguments arguments, 
                        SpreadsheetGear.CustomFunctions.IValue result) 
                    { 
                        // Verify that there are two arguments. 
                        if (arguments.Count == 1)
                        {
                            int rowCount;
                            int colCount;
                            arguments.GetArrayDimensions(0, out rowCount, out colCount);
                            double[,] numbers = new double[rowCount, colCount];
                            for (int row = 0; row &lt; rowCount; row++)
                            {
                                for (int col = 0; col &lt; colCount; col++)
                                {
                                    SpreadsheetGear.CustomFunctions.IValue value = arguments.GetArrayValue(0, row, col);
                                    if (value.Type == SpreadsheetGear.CustomFunctions.ValueType.Number)
                                        numbers[row, col] = value.Number;
                                }
                            }
                            // Get the two arguments as numbers, and sum them. 
                            result.Number = SumThem(numbers);
                        }
                        else
                            // Return ValueError.Value. 
                            result.Error = SpreadsheetGear.ValueError.Value; 
                    }
             
                    private double SumThem(double[,] numbers)
                    {
                        double sum = 0.0;
                        int rowCount = numbers.GetUpperBound(0) + 1;
                        int colCount = numbers.GetUpperBound(1) + 1;
                        for (int row = 0; row &lt; rowCount; row++)
                            for (int col = 0; col &lt; colCount; col++)
                                sum += numbers[row, col];
                        return sum;
                    }
             
                    // Singleton class - so make the constructor private. 
                    private MySum() 
                        : base( 
                        // The name of the custom function. 
                        "MYSUM", 
                        // For a given set of inputs, this function always returns the same value. 
                        SpreadsheetGear.CustomFunctions.Volatility.Invariant, 
                        // This function returns a number. 
                        SpreadsheetGear.CustomFunctions.ValueType.Number) 
                    { 
                    } 
                }
            }
                </code>
        <code lang="VB">
            Imports System
            Imports SpreadsheetGear
             
            Namespace ConsoleApplication
                _
                '/ &lt;summary&gt;
                '/ Demonstrate a custom function which sums the range of cells or values passed to it.
                '/ &lt;/summary&gt;
                Class Program
             
                    'Entry point which delegates to C-style main Private Function
                    Public Overloads Shared Sub Main()
                        ' Create a new empty workbook.
                        Dim workbookSet As IWorkbookSet = Factory.GetWorkbookSet()
             
                        ' Add the custom function to the workbook set. 
                        workbookSet.Add(MySum.MySumSingleton)
             
                        ' Add a workbook to the workbook set.
                        Dim workbook As IWorkbook = workbookSet.Workbooks.Add()
             
                        ' Get the first sheet and it's cells
                        Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets(0)
                        Dim cells As SpreadsheetGear.IRange = worksheet.Cells
             
                        ' Assign values and formulas to cells.
                        cells("A1").Value = 1
                        ' The OFFSET(...) function enables creation of a range equal to 
                        ' the number of rows which have values in column A and one column.
                        cells("B1").Formula = "=MYSUM(OFFSET(A1,0,0,COUNT(A:A),1))"
             
                        Console.WriteLine(("Result calculated from MYSUM  =  " + cells("B1").Text + " (should be 1)."))
             
                        ' Add another value to column A.
                        cells("A2").Value = 2
             
                        Console.WriteLine(("Result calculated from MYSUM  =  " + cells("B1").Text + " (should be 3)."))
                    End Sub 'Main
                End Class 'Program
                _
             
                ' A simple SUM custom function. 
                Public Class MySum
                    Inherits SpreadsheetGear.CustomFunctions.Function
                    ' Set to the one and only instance of MySum. 
                    Public Shared MySumSingleton As New MySum()
             
             
                    ' Sum the numbers in a range or array. 
                    Public Overrides Sub Evaluate(ByVal arguments As SpreadsheetGear.CustomFunctions.IArguments, ByVal result As SpreadsheetGear.CustomFunctions.IValue)
                        ' Verify that there are two arguments. 
                        If arguments.Count = 1 Then
                            Dim rowCount As Integer
                            Dim colCount As Integer
                            arguments.GetArrayDimensions(0, rowCount, colCount)
                            Dim numbers(rowCount, colCount) As Double
                            Dim row As Integer
                            For row = 0 To rowCount - 1
                                Dim col As Integer
                                For col = 0 To colCount - 1
                                    Dim value As SpreadsheetGear.CustomFunctions.IValue = arguments.GetArrayValue(0, row, col)
                                    If value.Type = SpreadsheetGear.CustomFunctions.ValueType.Number Then
                                        numbers(row, col) = value.Number
                                    End If
                                Next col
                            Next row ' Get the two arguments as numbers, and sum them. 
                            result.Number = SumThem(numbers)
                            ' Return ValueError.Value. 
                        Else
                            result.Error = SpreadsheetGear.ValueError.Value
                        End If
                    End Sub 'Evaluate
             
                    Private Function SumThem(ByVal numbers(,) As Double) As Double
                        Dim sum As Double = 0.0
                        Dim rowCount As Integer = numbers.GetUpperBound(0) + 1
                        Dim colCount As Integer = numbers.GetUpperBound(1) + 1
                        Dim row As Integer
                        For row = 0 To rowCount - 1
                            Dim col As Integer
                            For col = 0 To colCount - 1
                                sum += numbers(row, col)
                            Next col
                        Next row
                        Return sum
                    End Function 'SumThem
             
             
                    ' Singleton class - so make the constructor private. 
                    Private Sub New()
                        ' The name of the custom function. 
                        MyBase.New("MYSUM", SpreadsheetGear.CustomFunctions.Volatility.Invariant, SpreadsheetGear.CustomFunctions.ValueType.Number)
                    End Sub 'New ' For a given set of inputs, this function always returns the same value. 
                End Class 'MySum
            End Namespace 'ConsoleApplication ' This function returns a number.
                </code>
      </example>
      <param name="index">Specifies the zero based index of the argument.</param>
      <param name="rows">
            Set to the number of rows in the specified argument, or one for a simple
            argument.
            </param>
      <param name="columns">
            Set to the number columns in the specified argument, or one for a simple
            argument.
            </param>
      <seealso cref="P:SpreadsheetGear.CustomFunctions.IArguments.Item(System.Int32)">Indexer</seealso>
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayValue(System.Int32,System.Int32,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetLogical(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetNumber(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetText(System.Int32)" />
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayFormulaInfo(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
      <summary>
            Returns true and sets row1, col1, row2 and col2 to the zero based upper-left and lower-right
            row and column indexes of the array formula if the formula currently 
            being evaluated is an array formula, or returns false and leaves the parameters unchanged
            if the formula currently being evaluated is not an array formula.
            </summary>
      <returns>true if the formula currently being evaluated is an array formula, or false if 
            the formula currently being evaluated is not an array formula.</returns>
      <param name="row1">
            Will be set to the zero based upper row of the array formula currently being
            evaluated, or left unchanged if the formula currently being evaluated is not an array
            formula.
            </param>
      <param name="col1">
            Will be set to the zero based left column of the array formula currently being
            evaluated, or left unchanged if the formula currently being evaluated is not an array
            formula.
            </param>
      <param name="row2">
            Will be set to the zero based lower row of the array formula currently being
            evaluated, or left unchanged if the formula currently being evaluated is not an array
            formula.
            </param>
      <param name="col2">
            Will be set to the zero based right column of the array formula currently being
            evaluated, or left unchanged if the formula currently being evaluated is not an array
            formula.
            </param>
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayValue(System.Int32,System.Int32,System.Int32)">
      <summary>Returns the specified value.</summary>
      <returns>The specified range or array value.</returns>
      <remarks>
            For single values, arguments.GetArrayValue(index, 0, 0) returns the same value
            as arguments[index].
            </remarks>
      <example>
        <code lang="CS">
            using System; using DevTeam;
            using SpreadsheetGear;
             
            namespace ConsoleApplication
            {
                /// &lt;summary&gt;
                /// Demonstrate a custom function which sums the range of cells or values passed to it.
                /// &lt;/summary&gt;
                class Program
                {
                    static void Main(string[] args)
                    {
                        // Create a new empty workbook.
                        IWorkbookSet workbookSet = Factory.GetWorkbookSet();
                        
                        // Add the custom function to the workbook set. 
                        workbookSet.Add(MySum.MySumSingleton);
             
                        // Add a workbook to the workbook set.
                        IWorkbook workbook = workbookSet.Workbooks.Add();
                    
                        // Get the first sheet and it's cells
                        SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets[0]; 
                        SpreadsheetGear.IRange cells = worksheet.Cells;
                    
                        // Assign values and formulas to cells.
                        cells["A1"].Value = 1; 
                        // The OFFSET(...) function enables creation of a range equal to 
                        // the number of rows which have values in column A and one column.
                        cells["B1"].Formula = "=MYSUM(OFFSET(A1,0,0,COUNT(A:A),1))";
             
                        Console.WriteLine("Result calculated from MYSUM  =  " + cells["B1"].Value + " (should be 1).");
             
                        // Add another value to column A.
                        cells["A2"].Value = 2;
             
                        Console.WriteLine("Result calculated from MYSUM  =  " + cells["B1"].Value + " (should be 3).");
                    }
                }
                
                // A simple SUM custom function. 
                public class MySum : SpreadsheetGear.CustomFunctions.Function 
                { 
                    // Set to the one and only instance of MySum. 
                    public static readonly MySum MySumSingleton = new MySum(); 
              
                    // Sum the numbers in a range or array. 
                    public override void Evaluate( 
                        SpreadsheetGear.CustomFunctions.IArguments arguments, 
                        SpreadsheetGear.CustomFunctions.IValue result) 
                    { 
                        // Verify that there are two arguments. 
                        if (arguments.Count == 1)
                        {
                            int rowCount;
                            int colCount;
                            arguments.GetArrayDimensions(0, out rowCount, out colCount);
                            double[,] numbers = new double[rowCount, colCount];
                            for (int row = 0; row &lt; rowCount; row++)
                            {
                                for (int col = 0; col &lt; colCount; col++)
                                {
                                    SpreadsheetGear.CustomFunctions.IValue value = arguments.GetArrayValue(0, row, col);
                                    if (value.Type == SpreadsheetGear.CustomFunctions.ValueType.Number)
                                        numbers[row, col] = value.Number;
                                }
                            }
                            // Get the two arguments as numbers, and sum them. 
                            result.Number = SumThem(numbers);
                        }
                        else
                            // Return ValueError.Value. 
                            result.Error = SpreadsheetGear.ValueError.Value; 
                    }
             
                    private double SumThem(double[,] numbers)
                    {
                        double sum = 0.0;
                        int rowCount = numbers.GetUpperBound(0) + 1;
                        int colCount = numbers.GetUpperBound(1) + 1;
                        for (int row = 0; row &lt; rowCount; row++)
                            for (int col = 0; col &lt; colCount; col++)
                                sum += numbers[row, col];
                        return sum;
                    }
             
                    // Singleton class - so make the constructor private. 
                    private MySum() 
                        : base( 
                        // The name of the custom function. 
                        "MYSUM", 
                        // For a given set of inputs, this function always returns the same value. 
                        SpreadsheetGear.CustomFunctions.Volatility.Invariant, 
                        // This function returns a number. 
                        SpreadsheetGear.CustomFunctions.ValueType.Number) 
                    { 
                    } 
                }
            }
                </code>
        <code lang="VB">
            Imports System
            Imports SpreadsheetGear
             
            Namespace ConsoleApplication
                _
                '/ &lt;summary&gt;
                '/ Demonstrate a custom function which sums the range of cells or values passed to it.
                '/ &lt;/summary&gt;
                Class Program
             
                    'Entry point which delegates to C-style main Private Function
                    Public Overloads Shared Sub Main()
                        ' Create a new empty workbook.
                        Dim workbookSet As IWorkbookSet = Factory.GetWorkbookSet()
             
                        ' Add the custom function to the workbook set. 
                        workbookSet.Add(MySum.MySumSingleton)
             
                        ' Add a workbook to the workbook set.
                        Dim workbook As IWorkbook = workbookSet.Workbooks.Add()
             
                        ' Get the first sheet and it's cells
                        Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets(0)
                        Dim cells As SpreadsheetGear.IRange = worksheet.Cells
             
                        ' Assign values and formulas to cells.
                        cells("A1").Value = 1
                        ' The OFFSET(...) function enables creation of a range equal to 
                        ' the number of rows which have values in column A and one column.
                        cells("B1").Formula = "=MYSUM(OFFSET(A1,0,0,COUNT(A:A),1))"
             
                        Console.WriteLine(("Result calculated from MYSUM  =  " + cells("B1").Text + " (should be 1)."))
             
                        ' Add another value to column A.
                        cells("A2").Value = 2
             
                        Console.WriteLine(("Result calculated from MYSUM  =  " + cells("B1").Text + " (should be 3)."))
                    End Sub 'Main
                End Class 'Program
                _
             
                ' A simple SUM custom function. 
                Public Class MySum
                    Inherits SpreadsheetGear.CustomFunctions.Function
                    ' Set to the one and only instance of MySum. 
                    Public Shared MySumSingleton As New MySum()
             
             
                    ' Sum the numbers in a range or array. 
                    Public Overrides Sub Evaluate(ByVal arguments As SpreadsheetGear.CustomFunctions.IArguments, ByVal result As SpreadsheetGear.CustomFunctions.IValue)
                        ' Verify that there are two arguments. 
                        If arguments.Count = 1 Then
                            Dim rowCount As Integer
                            Dim colCount As Integer
                            arguments.GetArrayDimensions(0, rowCount, colCount)
                            Dim numbers(rowCount, colCount) As Double
                            Dim row As Integer
                            For row = 0 To rowCount - 1
                                Dim col As Integer
                                For col = 0 To colCount - 1
                                    Dim value As SpreadsheetGear.CustomFunctions.IValue = arguments.GetArrayValue(0, row, col)
                                    If value.Type = SpreadsheetGear.CustomFunctions.ValueType.Number Then
                                        numbers(row, col) = value.Number
                                    End If
                                Next col
                            Next row ' Get the two arguments as numbers, and sum them. 
                            result.Number = SumThem(numbers)
                            ' Return ValueError.Value. 
                        Else
                            result.Error = SpreadsheetGear.ValueError.Value
                        End If
                    End Sub 'Evaluate
             
                    Private Function SumThem(ByVal numbers(,) As Double) As Double
                        Dim sum As Double = 0.0
                        Dim rowCount As Integer = numbers.GetUpperBound(0) + 1
                        Dim colCount As Integer = numbers.GetUpperBound(1) + 1
                        Dim row As Integer
                        For row = 0 To rowCount - 1
                            Dim col As Integer
                            For col = 0 To colCount - 1
                                sum += numbers(row, col)
                            Next col
                        Next row
                        Return sum
                    End Function 'SumThem
             
             
                    ' Singleton class - so make the constructor private. 
                    Private Sub New()
                        ' The name of the custom function. 
                        MyBase.New("MYSUM", SpreadsheetGear.CustomFunctions.Volatility.Invariant, SpreadsheetGear.CustomFunctions.ValueType.Number)
                    End Sub 'New ' For a given set of inputs, this function always returns the same value. 
                End Class 'MySum
            End Namespace 'ConsoleApplication ' This function returns a number.
                </code>
      </example>
      <param name="index">Specifies the zero based index of the argument.</param>
      <param name="row">Specifies the zero based row index of the value to get.</param>
      <param name="column">Specifies the zero based column index of the value to get.</param>
      <seealso cref="P:SpreadsheetGear.CustomFunctions.IArguments.Item(System.Int32)">Indexer</seealso>
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayDimensions(System.Int32,System.Int32@,System.Int32@)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetLogical(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetNumber(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetText(System.Int32)" />
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.IArguments.GetLogical(System.Int32)">
      <summary>
            Returns the argument specified by the zero based index as a logical (boolean)
            value. Note that this method has the side effect of converting a range or array to a
            single value.
            </summary>
      <remarks>
        <para>Non-logical arguments are converted to a logical value if possible.
                Otherwise, false is returned by this method, and an internal flag is set indicating
                that an error has occurred, causing the result of the formula to be an
                error.</para>
        <para>
                    Note that this method has the side effect of converting a range or array to a
                    single value. Use <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayDimensions(System.Int32,System.Int32@,System.Int32@)" /> and <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayValue(System.Int32,System.Int32,System.Int32)" /> to get the dimensions and values of a range or array.
                </para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.CustomFunctions.IArguments.Item(System.Int32)">Indexer</seealso>
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayDimensions(System.Int32,System.Int32@,System.Int32@)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayValue(System.Int32,System.Int32,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetNumber(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetText(System.Int32)" />
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.IArguments.GetNumber(System.Int32)">
      <summary>
            Returns the argument specified by the zero based index as a double precision
            floating point number. Note that this method has the side effect of converting a range
            or array to a single value.
            </summary>
      <remarks>
        <para>Non-numeric arguments are converted to a number if possible. Otherwise, 0.0
                is returned by this method, and an internal flag is set indicating that an error
                has occurred, causing the result of the formula to be an error.</para>
        <para>
                    Note that this method has the side effect of converting a range or array to a
                    single value. Use <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayDimensions(System.Int32,System.Int32@,System.Int32@)" /> and <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayValue(System.Int32,System.Int32,System.Int32)" /> to get the dimensions and values of a range or array.
                </para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.CustomFunctions.IArguments.Item(System.Int32)">Indexer</seealso>
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayDimensions(System.Int32,System.Int32@,System.Int32@)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayValue(System.Int32,System.Int32,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetLogical(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetText(System.Int32)" />
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.IArguments.GetText(System.Int32)">
      <summary>
            Returns the argument specified by the zero based index as a string. Note that
            this method has the side effect of converting a range or array to a single
            value.
            </summary>
      <remarks>
        <para>Non-text arguments are converted to text if possible. Otherwise, a zero
                length string is returned by this method, and an internal flag is set indicating
                that an error has occurred, causing the result of the formula to be an
                error.</para>
        <para>
                    Note that this method has the side effect of converting a range or array to a
                    single value. Use <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayDimensions(System.Int32,System.Int32@,System.Int32@)" /> and <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayValue(System.Int32,System.Int32,System.Int32)" /> to get the dimensions and values of a range or array.
                </para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.CustomFunctions.IArguments.Item(System.Int32)">Indexer</seealso>
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayDimensions(System.Int32,System.Int32@,System.Int32@)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayValue(System.Int32,System.Int32,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetLogical(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetNumber(System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IArguments.Item(System.Int32)">
      <summary>
            Returns the argument specified by the zero based index. Note that this indexer
            has the side effect of converting a range or array to a single value.
            </summary>
      <remarks>
                Note that this indexer has the side effect of converting a range or array to a
                single value. Use <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayDimensions(System.Int32,System.Int32@,System.Int32@)" /> and <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayValue(System.Int32,System.Int32,System.Int32)" /> to get the dimensions and values of a range or array.
            </remarks>
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayDimensions(System.Int32,System.Int32@,System.Int32@)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayValue(System.Int32,System.Int32,System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetLogical(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetNumber(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetText(System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IArguments.Count">
      <summary>Returns the number of arguments to the custom function.</summary>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IArguments.CurrentColumn">
      <summary>
            Returns the column of the cell which is currently being calculated.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IArguments.CurrentFormula">
      <summary>
            Returns the formula of the cell which is currently being evaluated, or null if no cell is currently being evaluated. 
            </summary>
      <remarks>
            The formula will include a leading "=" and array formulas will be enclosed in curly braces - (i.e. "{=A1:B2}")).
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IArguments.CurrentRow">
      <summary>
            Returns the row of the cell which is currently being calculated.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IArguments.CurrentWorksheet">
      <summary>
            Returns the worksheet of the cell which is currently being calculated. The
            <strong>Function.Evaluate</strong> method precludes the use of any API on this
            worksheet except for the <strong>Name</strong>, <strong>Index</strong> and
            <strong>Workbook.Name</strong> properties.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.IArguments.CurrentFunctionName">
      <summary>
            Returns the name of the function which is currently being evaluated.
            </summary>
      <remarks>
                Use <see cref="P:SpreadsheetGear.CustomFunctions.IArguments.CurrentFunctionName" /> to determine the name of the
                function currently being evaluated. This is useful when implementing the
                default custom function (a function with a name of "*").
            </remarks>
    </member>
    <member name="T:SpreadsheetGear.IHyperlink">
      <summary>
            Represents a hyperlink.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.IHyperlink.Delete">
      <summary>
            Deletes this hyperlink.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IHyperlink.Address">
      <summary>
            Gets or sets the address of this hyperlink (such as "http://www.spreadsheetgear.com/").
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IHyperlink.EmailSubject">
      <summary>
            Gets or sets the email subject of this hyperlink.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IHyperlink.Range">
      <summary>
            Returns the range which this hyperlink is attached to.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IHyperlink.ScreenTip">
      <summary>
            Gets or sets the screen tip of this hyperlink.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IHyperlink.SubAddress">
      <summary>
            Gets or sets the sub address of this hyperlink (such as "Sheet1!A1").
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IHyperlink.TextToDisplay">
      <summary>
            Gets or sets the text to display for this hyperlink.
            </summary>
      <remarks>
        <para>Getting this property returns the value of the text cell at the top left of the range which this hyperlink is attached to.</para>
        <para>Setting this property sets the value of the cell at the top left of the range which this hyperlink is attached to.</para>
      </remarks>
    </member>
    <member name="T:SpreadsheetGear.IModule">
      <summary>
            Represents a module.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IStyle">
      <summary>
            Represents an individual named cell style associated with a workbook.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.Styles" />
      <seealso cref="P:SpreadsheetGear.IRange.Style" />
      <seealso cref="T:SpreadsheetGear.IStyles" />
    </member>
    <member name="M:SpreadsheetGear.IStyle.Delete">
      <summary>
            Deletes this named cell style.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.AddIndent">
      <summary>
            Gets or sets the property which controls indentation of text 
            when horizontal or vertical alignment is set to distributed.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.Borders">
      <summary>
            Returns an instance of <strong>IBorders</strong> which represents
            the cell borders of cells associated with this named cell style.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.BuiltIn">
      <summary>
            Returns <strong>true</strong> if this named cell style is a built-in style, <strong>false</strong> otherwise.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.Font">
      <summary>
            Returns an instance of <strong>IFont</strong> which may be used to
            get and set font properties of this named cell style.
            </summary>
      <seealso cref="T:SpreadsheetGear.IFont" />
    </member>
    <member name="P:SpreadsheetGear.IStyle.FormulaHidden">
      <summary>
            Gets or sets the property which specifies whether formulas in cells associated with this named cell style should be hidden.
            </summary>
      <remarks>
                Hiding formulas will have no affect unless
                <see cref="P:SpreadsheetGear.IWorksheet.ProtectContents" /> is set to <strong>true</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.ProtectContents" />
      <seealso cref="P:SpreadsheetGear.IStyle.Locked" />
    </member>
    <member name="P:SpreadsheetGear.IStyle.HorizontalAlignment">
      <summary>
            Gets or sets the horizontal alignment of cells associated with this named cell style.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.IncludeAlignment">
      <summary>
            Gets or sets the property which specifies whether this named 
            cell style includes the <strong>AddIndent</strong>,
            <strong>HorizontalAlignment</strong>, <strong>IndentLevel</strong>, <strong>Orientation</strong>,
            <strong>VerticalAlignment</strong> and<strong>WrapText</strong> properties.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.IncludeBorder">
      <summary>
            Gets or sets the property which specifies whether this named 
            cell style includes the properties associated with the <strong>Borders</strong> property.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.IncludeFont">
      <summary>
            Gets or sets the property which specifies whether this named 
            cell style includes the properties associated with the <strong>Font</strong> property.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.IncludeNumber">
      <summary>
            Gets or sets the property which specifies whether this named 
            cell style includes the <strong>NumberFormat</strong> property.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.IncludePatterns">
      <summary>
            Gets or sets the property which specifies whether this named 
            cell style includes the properties associated with the <strong>Interior</strong> property.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.IncludeProtection">
      <summary>
            Gets or sets the property which specifies whether this named 
            cell style includes the <strong>FormulaHidden</strong> and 
            <strong>Locked</strong>properties.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.IndentLevel">
      <summary>
            Gets or sets the indent level of cells associated with this named cell style. A setting of one indents a cell by three spaces.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.Interior">
      <summary>
            Returns the <strong>IInterior</strong> which represents the interior (background)
            color and pattern of cells associated with this named cell style.
            </summary>
      <remarks>The interior color and pattern of a cell is used to paint the background.</remarks>
      <seealso cref="T:SpreadsheetGear.IInterior" />
    </member>
    <member name="P:SpreadsheetGear.IStyle.Locked">
      <summary>
            Gets or sets the property which specifies whether cells associated with this named cell style will be locked.
            </summary>
      <remarks>
                Locking cells will have no affect unless
                <see cref="P:SpreadsheetGear.IWorksheet.ProtectContents" /> is set to <strong>true</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorksheet.ProtectContents" />
      <seealso cref="P:SpreadsheetGear.IStyle.FormulaHidden" />
    </member>
    <member name="P:SpreadsheetGear.IStyle.Name">
      <summary>
            Returns the name of this named cell style.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.Style" />
      <seealso cref="P:SpreadsheetGear.IWorkbook.Styles" />
    </member>
    <member name="P:SpreadsheetGear.IStyle.NumberFormat">
      <summary>
            Gets or sets the number format of this named cell style.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.Orientation">
      <summary>
            Gets or sets the text orientation of this named cell style, which may be from -90 to
            90 degrees or <strong>SpreadsheetGear.Orientation.Vertical</strong>.
            </summary>
      <remarks>
            See the <strong>SpreadsheetGear.Orientation</strong> class for related
            constants.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IStyle.Orientation" />
    </member>
    <member name="P:SpreadsheetGear.IStyle.ShrinkToFit">
      <summary>
            Gets or sets the property which specifies whether cells associated with this named cell style will be drawn
            in a smaller font if needed to display the contents of the cell.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyle.VerticalAlignment">
      <summary>
            Gets or sets the vertical alignment of cells associated with this named cell style.
            </summary>
      <seealso cref="P:SpreadsheetGear.IStyle.HorizontalAlignment" />
    </member>
    <member name="P:SpreadsheetGear.IStyle.WrapText">
      <summary>
            Get or sets the flag which indicates whether word wrap is enabled in cells associated with this named cell style.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IStyles">
      <summary>
            Represents the named cell styles associated with a workbook.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.Styles" />
      <seealso cref="P:SpreadsheetGear.IRange.Style" />
      <seealso cref="T:SpreadsheetGear.IStyle" />
    </member>
    <member name="M:SpreadsheetGear.IStyles.Add(System.String)">
      <summary>
            Adds a new named cell style based on the "Normal" style.
            </summary>
      <param name="name">The name to give the new named cell style.</param>
      <returns>The new named cell style.</returns>
    </member>
    <member name="P:SpreadsheetGear.IStyles.Item(System.Int32)">
      <summary>
            Returns the zero based named cell style specified by <strong>index</strong>.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.Styles" />
      <seealso cref="P:SpreadsheetGear.IStyles.Item(System.String)" />
      <seealso cref="P:SpreadsheetGear.IStyles.Count" />
    </member>
    <member name="P:SpreadsheetGear.IStyles.Item(System.String)">
      <summary>
            Returns the named cell style specified by <strong>index</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IStyles.Count">
      <summary>
            Returns the number of named cell styles in the workbook which contains this named cell style collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.IWorkbookSet">
      <summary>
            Manages a set of workbooks which may refer to each other by external cell
            references or external defined name references.
            </summary>
      <seealso cref="T:SpreadsheetGear.Factory">Factory</seealso>
      <seealso cref="T:SpreadsheetGear.IWorkbooks">IWorkbooks</seealso>
      <seealso cref="T:SpreadsheetGear.IWorkbook">IWorkbook</seealso>
      <remarks>
        <para>
          <strong>
            <see cref="T:SpreadsheetGear.IWorkbookSet" />
          </strong> manages a set of workbooks
                which may or may not be related. Multiple workbooks must be in the same workbook
                set for external formula references in dependent workbooks to reflect changes in
                precedent workbooks when a workbook set is calculated.</para>
        <para>Except where noted, methods and properties in the
                <strong>SpreadsheetGear</strong> namespace are not guaranteed to be thread
                safe.</para>
      </remarks>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.Add(SpreadsheetGear.CustomFunctions.Function)">
      <summary>
            Adds a custom function to the workbook set.
            </summary>
      <param name="customFunction">The custom function to add to the workbook set.</param>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.BeginUpdate">
      <summary>
                Interrupts background calculation if necessary, acquires an exclusive lock on the
                workbook set, and suspends painting and events until <see cref="M:SpreadsheetGear.IWorkbookSet.EndUpdate" />
                is called.
            </summary>
      <remarks>
        <para>This method is thread safe.</para>
        <para>
                    Use <see cref="M:SpreadsheetGear.IWorkbookSet.BeginUpdate" /> and <see cref="M:SpreadsheetGear.IWorkbookSet.EndUpdate" /> when making
                    a large number of changes to a workbook set which is attached to one or more
                    Windows Forms components from SpreadsheetGear. Doing so will typically result
                    in significant performance improvements when accessing the SpreadsheetGear API
                    many times to change the workbooks in a workbook set. However, all events which
                    would have been fired before <strong>EndUpdate</strong> is called will be lost,
                    and all Windows Forms components from SpreadsheetGear which are attached to the
                    workbook set will be completely repainted after <strong>EndUpdate</strong> is
                    called.
                </para>
        <para>
                    An exception will be thrown if <see cref="M:SpreadsheetGear.IWorkbookSet.UnwindLock" /> is called after a
                    call to <strong>BeginUpdate</strong> and before a call to
                    <strong>EndUpdate</strong>. Changing the workbook set associated with any
                    Windows Forms component from SpreadsheetGear generates a call to
                    <strong>UnwindLock</strong>, therefore the workbook set of a Windows Forms
                    component cannot be changed when using <strong>BeginUpdate</strong>.
                </para>
        <para>
          <strong>BeginUpdate</strong> essentially detaches a workbook set from any
                SpreadsheetGear Windows Forms components, temporarily making performance similar to
                using a workbook set with no attached user interface.</para>
        <para>
          <strong>BeginUpdate</strong> calls <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock" /> to acquire a lock
                    on the workbook set.
                </para>
        <para>
          <strong>EndUpdate</strong> must be called for each call to
                <strong>BeginUpdate</strong>. The recommended best practice is to call
                <strong>BeginUpdate</strong> followed by a <strong>try</strong> block where work is
                done, and then call <strong>EndUpdate</strong> in a <strong>finally</strong>
                block.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.EndUpdate" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.GetLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" />
      <example>
        <code lang="CS" description="Demonstrate using a workbook set in a thread safe manner when accessing the SpreadsheetGear API many times.">
            void DoSomeThreadSafeWorkQuickly(IWorkbookSet workbookSet)
                    {
                        // Interrupt background calculation if necessary, acquire an
                        // exclusive lock on the workbook set and suspend events and
                        // painting.
                        workbookSet.BeginUpdate();
             
                        try {
                            // Do a lot of work...
                        }
                        finally {
                            // Release the lock on the workbook set, start background
                            // calculation if appropriate and repaint controls.
                            workbookSet.EndUpdate();
                        }
                    }
                </code>
        <code lang="VB">
            Sub DoSomeThreadSafeWorkQuickly(ByVal workbookSet As IWorkbookSet)
                        ' Interrupt background calculation if necessary, acquire an 
                        ' exclusive lock on the workbook set and suspend events and
                        ' painting.
                        workbookSet.BeginUpdate()
             
                        Try
                            ' Do a lot of work... 
                        Finally
                            ' Release the lock on the workbook set, start background 
                            ' calculation if appropriate and repaint controls.
                            workbookSet.EndUpdate()
                        End Try
                    End Sub 'DoSomeThreadSafeWork
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.Calculate">
      <summary>
            Calculates formulas as needed. Volatile formulas and formulas involved in
            circular references are always calculated.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.Calculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.CalculationOnDemand" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFull" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFullRebuild" />
      <remarks>
        <para>
          <see cref="M:SpreadsheetGear.IWorkbookSet.Calculate" /> will defer actual calculation of the workbook set
                    to the background calculation thread if <em>all</em> of the following are true:
                </para>
        <list type="bullet">
          <item>
                        The current thread has <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock">acquired a lock</see> on the
                        workbook set.
                    </item>
          <item>
            <see cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" /> is true.
                    </item>
          <item>
            <see cref="P:SpreadsheetGear.IWorkbookSet.Calculation" /> is <em>not</em> set to
                        <strong>Calculation.Manual</strong>.
                    </item>
        </list>
      </remarks>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.CalculateFull">
      <summary>
            Calculates all formulas in a workbook set.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.Calculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.CalculationOnDemand" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.Calculate" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFullRebuild" />
      <remarks>
        <para>
          <see cref="M:SpreadsheetGear.IWorkbookSet.CalculateFull" /> will defer actual calculation of the workbook
                    set to the background calculation thread if <em>all</em> of the following are
                    true:
                </para>
        <list type="bullet">
          <item>
                        The current thread has <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock">acquired a lock</see> on the
                        workbook set.
                    </item>
          <item>
            <see cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" /> is true.
                    </item>
          <item>
            <see cref="P:SpreadsheetGear.IWorkbookSet.Calculation" /> is <em>not</em> set to
                        <strong>Calculation.Manual</strong>.
                    </item>
        </list>
      </remarks>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.CalculateFullRebuild">
      <summary>
            Optimizes the internal representation of formulas and data in this workbook set
            and calculates all of the formulas.
            </summary>
      <remarks>
        <para>
          <see cref="M:SpreadsheetGear.IWorkbookSet.CalculateFullRebuild" /> is a very expensive operation.
                    Typically, it will prove beneficial when a set of one or more workbooks are
                    loaded and/or created, populated with values and formulas, optimized with
                    <strong>CalculateFullRebuild</strong>, and then modified and calculated many
                    times.
                </para>
        <para>Calling <strong>System.GC.Collect</strong> after rebuilding and before the
                next calculation is triggered typically results in faster calculation. However,
                calling <strong>System.GC.Collect</strong> in a server environment is rarely a good
                idea.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.Calculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.CalculationOnDemand" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.Calculate" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFull" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.EndUpdate">
      <summary>
                Restores painting and events to the state they were in before the last call to
                <see cref="M:SpreadsheetGear.IWorkbookSet.BeginUpdate" />, releases the lock acquired by
                <strong>BeginUpdate</strong>, and starts background calculation if appropriate.
            </summary>
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.BeginUpdate" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.GetLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" />
      <remarks>
        <para>This method is thread safe.</para>
        <para>
          <see cref="M:SpreadsheetGear.IWorkbookSet.EndUpdate" /> releases the lock which was acquired by
                    <see cref="M:SpreadsheetGear.IWorkbookSet.BeginUpdate" /> by calling <strong>GetLock</strong>.
                </para>
        <para>
                    See <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock" /> and <see cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" /> for more
                    information about acquiring and releasing locks and the effect this has on
                    background calculation.
                </para>
      </remarks>
      <example>
        <code lang="CS" description="Demonstrate using a workbook set in a thread safe manner when accessing the SpreadsheetGear API many times.">
            void DoSomeThreadSafeWorkQuickly(IWorkbookSet workbookSet)
                    {
                        // Interrupt background calculation if necessary, acquire an
                        // exclusive lock on the workbook set and suspend events and
                        // painting.
                        workbookSet.BeginUpdate();
             
                        try {
                            // Do a lot of work...
                        }
                        finally {
                            // Release the lock on the workbook set, start background
                            // calculation if appropriate and repaint controls.
                            workbookSet.EndUpdate();
                        }
                    }
                </code>
        <code lang="VB">
            Sub DoSomeThreadSafeWorkQuickly(ByVal workbookSet As IWorkbookSet)
                        ' Interrupt background calculation if necessary, acquire an 
                        ' exclusive lock on the workbook set and suspend events and
                        ' painting.
                        workbookSet.BeginUpdate()
             
                        Try
                            ' Do a lot of work... 
                        Finally
                            ' Release the lock on the workbook set, start background 
                            ' calculation if appropriate and repaint controls.
                            workbookSet.EndUpdate()
                        End Try
                    End Sub 'DoSomeThreadSafeWork
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.GetAddress(System.Int32,System.Int32)">
      <summary>
            Returns a string representing the specified zero based row and column
            indexes.
            </summary>
      <returns>
            A string representing the specified zero based row and column indexes using
            <strong>ReferenceStyle.A1</strong>.
            </returns>
      <remarks>
            The zero based row and column indexes are converted to a relative reference using
            <strong>ReferenceStyle.A1</strong>.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IRange.Address" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.GetAddress(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,SpreadsheetGear.ReferenceStyle)" />
      <param name="row">The zero based row index.</param>
      <param name="col">The zero based column index.</param>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.GetAddress(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,SpreadsheetGear.ReferenceStyle)">
      <summary>
            Returns a string representing the specified zero based row and column
            indexes.
            </summary>
      <returns>The range formatted as a range reference in the specified reference style.</returns>
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.GetAddress(System.Int32,System.Int32)" />
      <param name="row1">The first row of the range.</param>
      <param name="column1">The first column of the range.</param>
      <param name="row2">The last row of the range.</param>
      <param name="column2">The last column of the range.</param>
      <param name="rowBase">Specifies the base row for relative references in the R1C1 reference style, ignored for the A1 reference style.</param>
      <param name="columnBase">
            Specifies the base column for relative references in the R1C1 reference style,
            ignored for the A1 reference style.
            </param>
      <param name="row1Abs">Specifies whether the first row is absolute.</param>
      <param name="column1Abs">Specifies whether the first column is absolute.</param>
      <param name="row2Abs">Specifies whether the last row is absolute.</param>
      <param name="column2Abs">Specifies whether the last column is absolute.</param>
      <param name="forceRange">
            Specifies whether a range reference should be returned for a single cell (row1 ==
            row2 and column1 == column2).
            </param>
      <param name="referenceStyle">Specifies whether to use the A1 reference style or R1C1 style.</param>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.GetLock">
      <summary>
            Interrupts background calculation if necessary and acquires an exclusive lock on
            the workbook set.
            </summary>
      <remarks>
        <para>This method is thread safe.</para>
        <para>
                    A lock must be acquired on a workbook set before using the workbook set from
                    multiple threads. This includes any access to any properties or methods of any
                    object belonging to the workbook set, unless the property or method is
                    explicitly marked as thread safe. Since all Windows Forms components from
                    SpreadsheetGear use <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock" /> and
                    <see cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" /> whenever they access a workbook set, and since
                    <see cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" /> is on by default,
                    <strong>GetLock</strong> and <strong>ReleaseLock</strong> must be used to
                    access a workbook set which is attached to any of these Windows Forms
                    components.
                </para>
        <para>
                    To eliminate the need to use <strong>GetLock</strong> and
                    <strong>ReleaseLock</strong> when using Windows Forms components from
                    SpreadsheetGear, set <see cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" /> to
                    <strong>false</strong> or set <see cref="P:SpreadsheetGear.IWorkbookSet.Calculation" /> to
                    <strong>Calculation.Manual</strong>, and limit access to the workbook set to
                    the thread which created the Windows Forms component(s). The
                    <strong>WorkbookView</strong> control allows the
                    <strong>BackgroundCalculation</strong> property to be set in the WorkbookView
                    Smart Tag and in the WorkbookView property list, although doing so will
                    typically hurt performance significantly.
                </para>
        <para>There is no need to use <strong>GetLock</strong> and
                <strong>ReleaseLock</strong> when using a workbook set which is <em>not</em>
                attached to any Windows Forms components from SpreadsheetGear. However, these
                methods may still be useful to synchronize access to a workbook set, particularly
                in applications which would benefit from interruptible background
                calculation.</para>
        <para>All components in the <strong>SpreadsheetGear.Windows.Forms</strong>
                namespace adhere to the standard Windows Forms threading model. Members of any
                object in the <strong>SpreadsheetGear.Windows.Forms</strong> namespace must not be
                accessed from any thread other than the thread which created the object. Calling
                <strong>System.Windows.Forms.Control.BeginInvoke</strong> is valid when holding a
                lock on a workbook set. However, calling
                <strong>System.Windows.Forms.Control.Invoke</strong> while holding a lock on a
                workbook set is likely to result in a deadlock.</para>
        <para>Calls to <strong>GetLock</strong> may be nested. <strong>ReleaseLock</strong>
                must be called once for each call to <strong>GetLock</strong>. The recommended best
                practice is to call <strong>GetLock</strong> followed by a <strong>try</strong>
                block where work is done, and then call <strong>ReleaseLock</strong> in a
                <strong>finally</strong> block.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.HasLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.RewindLock(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.UnwindLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.BeginUpdate" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.EndUpdate" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" />
      <example>
        <code lang="CS" description="Demonstrate using a workbook set in a thread safe manner.">
            void DoSomeThreadSafeWork(IWorkbookSet workbookSet)
                    {
                        // Interrupt background calculation if necessary and acquire an
                        // exclusive lock on the workbook set.
                        workbookSet.GetLock();
             
                        try {
                            // Do some work...
                        }
                        finally {
                            // Release the lock on the workbook set and start background
                            // calculation if appropriate.
                            workbookSet.ReleaseLock();
                        }
                    }
                </code>
        <code lang="VB">
            Sub DoSomeThreadSafeWork(ByVal workbookSet As IWorkbookSet)
                        ' Interrupt background calculation if necessary and acquire an 
                        ' exclusive lock on the workbook set. 
                        workbookSet.GetLock()
             
                        Try
                            ' Do some work... 
                        Finally
                            ' Release the lock on the workbook set and start background 
                            ' calculation if appropriate. 
                            workbookSet.ReleaseLock()
                        End Try
                    End Sub 'DoSomeThreadSafeWork
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.ReleaseLock">
      <summary>
                Releases a lock acquired with <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock" /> and starts background
                calculation if appropriate.
            </summary>
      <remarks>
        <para>This method is thread safe.</para>
        <para>
                    Calls to <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock" /> may be nested.
                    <see cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" /> must be called once for each call to
                    <strong>GetLock</strong>.
                </para>
        <para>Interruptible background calculation will be started if the following
                conditions are all met:</para>
        <list type="bullet">
          <item>The last lock acquired by the current thread is being released.</item>
          <item>There are no other threads waiting to acquire a lock on this workbook
                    set.</item>
          <item>
            <see cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" /> is set to <strong>true</strong>.
                    </item>
          <item>
            <see cref="P:SpreadsheetGear.IWorkbookSet.Calculation" /> is <em>not</em> set to
                        <strong>Calculation.Manual</strong>.
                    </item>
        </list>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.HasLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.GetLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.RewindLock(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.UnwindLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.BeginUpdate" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.EndUpdate" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" />
      <example>
        <code lang="CS" description="Demonstrate using a workbook set in a thread safe manner.">
            void DoSomeThreadSafeWork(IWorkbookSet workbookSet)
                    {
                        // Interrupt background calculation if necessary and acquire an
                        // exclusive lock on the workbook set.
                        workbookSet.GetLock();
             
                        try {
                            // Do some work...
                        }
                        finally {
                            // Release the lock on the workbook set and start background
                            // calculation if appropriate.
                            workbookSet.ReleaseLock();
                        }
                    }
                </code>
        <code lang="VB">
            Sub DoSomeThreadSafeWork(ByVal workbookSet As IWorkbookSet)
                        ' Interrupt background calculation if necessary and acquire an 
                        ' exclusive lock on the workbook set. 
                        workbookSet.GetLock()
             
                        Try
                            ' Do some work... 
                        Finally
                            ' Release the lock on the workbook set and start background 
                            ' calculation if appropriate. 
                            workbookSet.ReleaseLock()
                        End Try
                    End Sub 'DoSomeThreadSafeWork
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.Remove(SpreadsheetGear.CustomFunctions.Function)">
      <summary>
            Removes a custom function from the workbook set.
            </summary>
      <param name="customFunction">The custom function to remove from the workbook set.</param>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.RewindLock(System.Int32)">
      <summary>
                Interrupts background calculation if necessary and restores locks to the state they
                were in before <see cref="M:SpreadsheetGear.IWorkbookSet.UnwindLock" /> was called.
            </summary>
      <remarks>
        <para>This method is thread safe.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.HasLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.GetLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.UnwindLock" />
      <param name="rewindCount">The rewind count acquired from <b><see cref="M:SpreadsheetGear.IWorkbookSet.UnwindLock" /></b>.</param>
    </member>
    <member name="M:SpreadsheetGear.IWorkbookSet.UnwindLock">
      <summary>Unwinds the locks for the workbook set and returns the rewind count.</summary>
      <returns>The rewind count which must be passed to <see cref="M:SpreadsheetGear.IWorkbookSet.RewindLock(System.Int32)" />.</returns>
      <remarks>
        <para>This method is thread safe.</para>
            Unwinding the locks associated with a workbook set is useful when a time consuming
            or modal action must be taken in response to an event.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.HasLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.GetLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.RewindLock(System.Int32)" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.AltStartupPath">
      <summary>
            Gets or sets the alternate startup path, which is referred to by some external formula references.
            </summary>
      <remarks>
            The default value is "".
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.LibraryPath" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.StartupPath" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation">
      <summary>
            Gets or sets the property which specifies whether interruptible background
            calculation will be initiated as needed when the last lock on a workbook set is
            released.
            </summary>
      <remarks>
        <para>This property is thread safe.</para>
        <para>
                    Changing <see cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" /> from <strong>true</strong> to
                    <strong>false</strong> stops background calculation before the property setter
                    returns.
                </para>
        <para>
          <see cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" /> is on by default. However, background
                    calculation will not be initiated if <see cref="P:SpreadsheetGear.IWorkbookSet.Calculation" /> is set to
                    <strong>Calculation.Manual</strong> or if a lock is never
                    <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock">acquired</see> and subsequently
                    <see cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock">released</see>.
                </para>
        <para>
                    When utilizing background calculation, <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock" /> must be used
                    to acquire a lock before any access to any object in a workbook set.
                </para>
        <para>
                    All Windows Forms components from SpreadsheetGear use <strong>GetLock</strong>
                    and <see cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" /> whenever they access anything in a workbook
                    set.
                </para>
        <para>
                    See <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock" /> and <see cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" /> for more
                    information about acquiring and releasing locks as well as the effect this has
                    on background calculation.
                </para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.Calculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.CalculationOnDemand" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.Calculate" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFull" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFullRebuild" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.GetLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.Calculation">
      <summary>
            Gets or sets the property which determines whether this workbook set is
            automatically calculated as needed.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.CalculationOnDemand" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.CalculateBeforeSave" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.NeverRecalc" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.Calculate" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFull" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFullRebuild" />
      <remarks>
        <para>
                    If <see cref="P:SpreadsheetGear.IWorkbookSet.Calculation" /> is <em>not</em> set to
                    <strong>Calculation.Manual</strong>, cells containing formulas will always be
                    calculated automatically before values are returned by the SpreadsheetGear for
                    .NET API.
                </para>
        <para>
                    To calculate a workbook set with <strong>Calculation</strong> set to
                    <strong>Calculation.Manual</strong>, call <see cref="M:SpreadsheetGear.IWorkbookSet.Calculate" />.
                </para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.CalculateBeforeSave">
      <summary>
            Gets or sets the property which specifies whether workbooks should be calculated
            as needed before saving.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.Calculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.CalculationOnDemand" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.Calculate" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFull" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFullRebuild" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.CalculationOnDemand">
      <summary>
            Gets or sets the property which determines whether individual cells are
            calculated on demand. This feature is turned off by default.
            </summary>
      <remarks>
        <para>Calculation on demand is a feature of SpreadsheetGear which can
                dramatically increase performance of some applications. There are four primary
                strategies for calculating cells in SpreadsheetGear:</para>
        <list type="number">
          <item>
                        Set <see cref="P:SpreadsheetGear.IWorkbookSet.Calculation" /> to <strong>Calculation.Manual</strong>
                        and call <see cref="M:SpreadsheetGear.IWorkbookSet.Calculate" /> to calculate a workbook set.
                    </item>
          <item>
                        Set <strong>Calculation</strong> to <strong>Calculation.Automatic</strong>
                        and set <see cref="P:SpreadsheetGear.IWorkbookSet.CalculationOnDemand" /> to <strong>false</strong>
                        (the default settings of a workbook set). With these settings, retrieving
                        the value of a formula cell which needs to be calculated will result in the
                        calculation of a logical group of cells all at once. This might be a column
                        of cells, a worksheet, a workbook or the entire workbook set.
                    </item>
          <item>Set <strong>Calculation</strong> to
                    <strong>Calculation.Automatic</strong> and set
                    <strong>CalculationOnDemand</strong> to <strong>true</strong>. With these
                    settings, retrieving the value of a formula cell which needs to be calculated
                    will result in a best effort attempt to calculate only the specified cell and 
                    the cells on which it depends.</item>
          <item>Mix strategy #2 or strategy #3 with calls to <strong>Calculate</strong> when it is
                    appropriate, but note that using strategy #3 will disable multi-threaded
                    recalc for most cells in a workbook set which will signicantly slow down 
                    calculations for some workbooks.</item>
        </list>
        <para>Suppose you have a workbook where you have 100 rows and three columns.
                Columns A and B have a number, column C adds A + B. If you will be working within
                one row at a time, changing numbers in columns A and B, and retrieving the result
                of the formula in column C, calculation on demand will perform very well.</para>
        <para>If, on the other hand, you will be making changes in columns A and B, and
                retrieving many of the cells in column C, turning off calculation on demand may
                perform better.</para>
        <para>If you know that you will need all cells in a workbook set to be calculated,
                the most efficient strategy is to call <strong>Calculate</strong> before you start
                to retrieve the results of formula cells.</para>
        <para>Setting <strong>CalculationOnDemand</strong> to <strong>true</strong> will 
            	disable multi-threaded recalc for most cells in a workbook set.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.Calculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.Calculate" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFull" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.CalculateFullRebuild" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.Culture">
      <summary>
            Gets the <strong>CultureInfo</strong> of this workbook set.
            </summary>
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet(System.Globalization.CultureInfo)" />
      <remarks>
        <para>
                    Workbook sets created by the <see cref="T:SpreadsheetGear.Factory" /> class default to the US
                    English <strong>CultureInfo</strong>. The <strong>Factory</strong> class has
                    several methods which allow the <strong>CultureInfo</strong> to be specified
                    for newly created workbook sets.
                </para>
        <para>The SpreadsheetGear Windows Forms components create workbook sets using the
                <strong>CurrentCulture</strong> property of the
                <strong>System.Windows.Forms.Application</strong> class.</para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.CustomLists">
      <summary>
            Gets or sets the custom lists used by IRange.AutoFill and IRange.DataSeries (null
            by default).
            </summary>
      <remarks>
        <para>
                    The <see cref="M:SpreadsheetGear.IRange.AutoFill(SpreadsheetGear.IRange,SpreadsheetGear.AutoFillType)" /> and <see cref="M:SpreadsheetGear.IRange.DataSeries(System.Boolean,SpreadsheetGear.DataSeriesType,SpreadsheetGear.DataSeriesDate,System.Double,System.Double,System.Boolean)" />
                    methods support built-in lists consisting of long and short day and month names
                    in the culture of the workbook set. These built-in custom lists may not be
                    modified.
                </para>
        <para>
                    In addition, custom lists may be specified for the workbook set with this
                    <see cref="P:SpreadsheetGear.IWorkbookSet.CustomLists" /> property. This can be a single list such as an
                    array of strings or it can be a list of lists to specify more than one custom
                    list.
                </para>
      </remarks>
      <value>Returns the currently set custom lists which are null by default.</value>
      <seealso cref="M:SpreadsheetGear.IRange.AutoFill(SpreadsheetGear.IRange,SpreadsheetGear.AutoFillType)" />
      <seealso cref="M:SpreadsheetGear.IRange.DataSeries(System.Boolean,SpreadsheetGear.DataSeriesType,SpreadsheetGear.DataSeriesDate,System.Double,System.Double,System.Boolean)" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.DefaultFontName">
      <summary>
            Gets or sets the font name to use in the default font when new workbooks are created.
            </summary>
      <remarks>
        <strong>DefaultFontName</strong> does not affect workbooks which are opened from
            an existing file or workbooks which already exist in the workbook set.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.DefaultFontSize" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.DefaultFontSize">
      <summary>
            Gets or sets the font size in points to use in the default font when new workbooks are created.
            </summary>
      <remarks>
        <strong>DefaultFontSize</strong> does not affect workbooks which are opened from
            an existing file or workbooks which already exist in the workbook set.
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.DefaultFontName" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.Experimental">
      <summary>
            Provides the ability to enable experimental features for this workbook set.
            </summary>
      <remarks>
        <para>Currently, there is one publicly documented experimental feature in
                SpreadsheetGear:</para>
        <list type="bullet">
          <item>
          </item>
          <item>OleDbOpenXmlWorkaround - this experimental feature enables writing of
                    Open XML workbooks which the OleDb provider can read. As of May 2009, the OleDb
                    provider does not fully support the Open XML file format and will not read
                    workbooks written by SpreadsheetGear unless this experimental feature is
                    enabled. At this time it is not clear whether this feature will eventually be
                    removed (because OleDb has been fixed to read compliant Open XML workbooks) or
                    whether this feature might find it's way into a permanent API. Any change to
                    this experimental feature would only be made in a major release of
                    SpreadsheetGear. To enable this experimantal feature, set this property to
                    "OleDbOpenXmlWorkaround".</item>
        </list>
        <para>
          <font color="silver" size="2">
            <font color="silver" size="2">Once an
                experimental feature has been enabled for a workbook set, it cannot be
                disabled.</font>
          </font>
        </para>
        <font color="silver" size="2">
          <font color="silver" size="2">Setting this property to an unknown value is ignored.</font>
        </font>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.HasLock">
      <summary>
                Returns <strong>true</strong> if the current thread has acquired a lock on this
                workbook set by calling <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock" /> or one of the other methods
                which acquire a lock on a workbook set.
            </summary>
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.GetLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.ReleaseLock" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.RewindLock(System.Int32)" />
      <seealso cref="M:SpreadsheetGear.IWorkbookSet.UnwindLock" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.IsTrial">
      <summary>
            Returns <strong>true</strong> if this is an evaluation or trial version of
            SpreadsheetGear, otherwise <strong>false</strong> is returned.
            </summary>
      <value>
        <strong>true</strong> if this is an evaluation or trial version of
            SpreadsheetGear, otherwise <strong>false</strong> is returned.
            </value>
      <example>
        <code lang="CS" description="Assert that this is not an evaluation/trial version of SpreadsheetGear">
            // Create a workbook set.
                        SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
             
                        // Assert that this is not an evaluation/trial version of SpreadsheetGear.
                        SG.Diagnostics.Debug.Assert(!workbookSet.IsTrial);
                </code>
        <code lang="VB">
            ' Create a workbook set.
                        Dim workbookSet As IWorkbookSet = Factory.GetWorkbookSet()
             
                        ' Assert that this is not an evaluation/trial version of SpreadsheetGear.
                        SG.Diagnostics.Debug.Assert(Not workbookSet.IsTrial)
                </code>
      </example>
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.Iteration">
      <summary>
            Gets or sets the property which specifies whether iteration will be used when a
            workbook set is calculated.
            </summary>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.MaxChange" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.MaxIterations" />
      <remarks>
        <para>
                    When <see cref="P:SpreadsheetGear.IWorkbookSet.Iteration" /> is <strong>true</strong>, formulas are
                    calculated until the number of iterations equals
                    <see cref="P:SpreadsheetGear.IWorkbookSet.MaxIterations" /> or until the maximum change in any calculated
                    cell is less than <see cref="P:SpreadsheetGear.IWorkbookSet.MaxChange" />.
                </para>
        <para>
          <strong>Iteration</strong> is <strong>false</strong> by default</para>
        <para>
          <strong>MaxChange</strong> is set to 0.001 by
                default<strong>.</strong></para>
        <para>
          <strong>MaxIterations</strong> is set to 100 by default.</para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.LibraryPath">
      <summary>
            Gets or sets the library path which is referred to by some external formula
            references.
            </summary>
      <remarks>
            The default value is "".
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.AltStartupPath" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.StartupPath" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.MaxChange">
      <summary>
            Gets or sets the maximum change allowed if iteration is to stop.
            </summary>
      <remarks>
        <para>
                    When <see cref="P:SpreadsheetGear.IWorkbookSet.Iteration" /> is <strong>true</strong>, formulas are
                    calculated until the number of iterations equals
                    <see cref="P:SpreadsheetGear.IWorkbookSet.MaxIterations" /> or until the maximum change in any calculated
                    cell is less than <see cref="P:SpreadsheetGear.IWorkbookSet.MaxChange" />.
                </para>
        <para>
          <strong>Iteration</strong> is <strong>false</strong> by default</para>
        <para>
          <strong>MaxChange</strong> is set to 0.001 by
                default<strong>.</strong></para>
        <para>
          <strong>MaxIterations</strong> is set to 100 by default.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.Iteration" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.MaxIterations" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.MaxColumns">
      <summary>Returns the maximum number of columns allowed in a worksheet.</summary>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.MaxRows" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.MaxWorksheets" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.MaxIterations">
      <summary>
            Gets or sets the maximum number of calculation iterations.
            </summary>
      <remarks>
        <para>
                    When <see cref="P:SpreadsheetGear.IWorkbookSet.Iteration" /> is <strong>true</strong>, formulas are
                    calculated until the number of iterations equals
                    <see cref="P:SpreadsheetGear.IWorkbookSet.MaxIterations" /> or until the maximum change in any calculated
                    cell is less than <see cref="P:SpreadsheetGear.IWorkbookSet.MaxChange" />.
                </para>
        <para>
          <strong>Iteration</strong> is <strong>false</strong> by default</para>
        <para>
          <strong>MaxChange</strong> is set to 0.001 by
                default<strong>.</strong></para>
        <para>
          <strong>MaxIterations</strong> is set to 100 by default.</para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.Iteration" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.MaxChange" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.MaxRows">
      <summary>Returns the maximum number of rows allowed in a worksheet.</summary>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.MaxColumns" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.MaxWorksheets" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.MaxRecursions">
      <summary>
            Gets or sets the maximum number of recursive calculations allowed when references
            to cells still needing calculation are detected during workbook set calculation.
            </summary>
      <remarks>
        <para>Recursion is used when a reference to a cell still needing calculation is
                detected during workbook set calculation, up to the maximum number of recursions
                allowed by the <strong>MaxRecursions</strong> property. When the maximum number of
                recursions is exceeded, a slower strategy will be employed to calculate these
                cells.</para>
        <para>The default number of recursions allowed is 1024. This is high enough that
                the vast majority of workbooks will be calculated using recursion, and low enough
                that stack overflow exceptions are extremely rare (this property was made public
                two years after SpreadsheetGear was released in response to the first
                reported case of a stack overflow exception).</para>
        <para>Some workbooks will generate stack overflow exceptions in environments with
                limited stack size available (such as some ASP.NET implementations which are
                limited to a stack size of 256K). Setting <strong>MaxRecursions</strong> to a
                smaller number will limit the amount of stack space used.</para>
        <para>Some complex workbooks will calculate faster with higher
                <strong>MaxRecursions</strong> settings.</para>
        <para>In most cases, the setting of <strong>MaxRecursions</strong> will have little
                or no effect after a workbook set is calculated the first time.</para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.MaxWorksheets">
      <summary>Returns the maximum number of worksheets allowed in a workbook.</summary>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.MaxColumns" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.MaxRows" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.NeverRecalc">
      <summary>
            Gets or sets the property which specifies that formulas in this workbook
            set should never be calculated. This property must be set before any
            workbook exists in the workbook set.
            </summary>
      <remarks>The default value is <strong>false</strong>.</remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.BackgroundCalculation" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.CalculateBeforeSave" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.Calculation" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.ReadObjects">
      <summary>
            Gets or sets the property which specifies whether charts, pictures and drawing
            objects should be read when reading a workbook.
            </summary>
      <remarks>
        <para>
            Charts, pictures and drawing objects are read and written by default. Set this property to false
            to disable reading of charts, pictures and drawing objects when a workbook is read.
            </para>
        <para>
            Note that setting <strong>ReadDrawingObjects</strong> to <strong>false</strong>
            will not disable reading of chart sheets.
            </para>
        <seealso cref="P:SpreadsheetGear.IWorkbookSet.ReadVBA" />
      </remarks>
      <example>
        <code lang="CS">
            using System; using DevTeam;
            using SpreadsheetGear;
             
            namespace ConsoleApplication
            {
                /// &lt;summary&gt;
                /// Demonstrate a custom function which sums the range of cells or values passed to it.
                /// &lt;/summary&gt;
                class Program
                {
                    static void Main(string[] args)
                    {
                        // Create a new empty workbook.
                        IWorkbookSet workbookSet = Factory.GetWorkbookSet();
             
                        // Set to not read VBA or Objects (shapes).
                        workbookSet.ReadVBA = false;
                        workbookSet.ReadObjects = false;
             
                        // Read MyWorkbook.xls without VBA or objects.
                        IWorkbook workbook = workbookSet.Workbooks.Open("MyWorkbook.xls");
                    }
                }
            }
                </code>
        <code lang="VB">
            Imports System
            Imports SpreadsheetGear
             
             
            Namespace ConsoleApplication
                _
                ' Demonstrate reading a workbook without VBA or objects (shapes).
                Class Program
             
                    Public Overloads Shared Sub Main()
                        ' Create a new empty workbook.
                        Dim workbookSet As IWorkbookSet = Factory.GetWorkbookSet()
             
                        ' Set to not read VBA or Objects (shapes).
                        workbookSet.ReadVBA = False
                        workbookSet.ReadObjects = False
             
                        ' Read MyWorkbook.xls without VBA or objects.
                        Dim workbook As IWorkbook = workbookSet.Workbooks.Open("MyWorkbook.xls")
                    End Sub 'Main
                End Class 'Program
            End Namespace 'ConsoleApplication
                </code>
      </example>
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.ReadVBA">
      <summary>
            Gets or sets the property which specifies whether VBA Macros
            should be read when reading a workbook.
            </summary>
      <remarks>
        <para>
            VBA Macros are read and written by default. Set this property to false
            to disable reading of VBA Macros when a workbook is read.
            </para>
        <para>
            Note that support for VBA Macros is limited to reading and writing the OLE Compound
            Document streams. VBA Macros cannot be copied, modified or deleted, and are not
            updated when worksheets or other objects are copied, modified or deleted.
            </para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.ReadObjects" />
      <example>
        <code lang="CS">
            using System; using DevTeam;
            using SpreadsheetGear;
             
            namespace ConsoleApplication
            {
                /// &lt;summary&gt;
                /// Demonstrate a custom function which sums the range of cells or values passed to it.
                /// &lt;/summary&gt;
                class Program
                {
                    static void Main(string[] args)
                    {
                        // Create a new empty workbook.
                        IWorkbookSet workbookSet = Factory.GetWorkbookSet();
             
                        // Set to not read VBA or Objects (shapes).
                        workbookSet.ReadVBA = false;
                        workbookSet.ReadObjects = false;
             
                        // Read MyWorkbook.xls without VBA or objects.
                        IWorkbook workbook = workbookSet.Workbooks.Open("MyWorkbook.xls");
                    }
                }
            }
                </code>
        <code lang="VB">
            Imports System
            Imports SpreadsheetGear
             
             
            Namespace ConsoleApplication
                _
                ' Demonstrate reading a workbook without VBA or objects (shapes).
                Class Program
             
                    Public Overloads Shared Sub Main()
                        ' Create a new empty workbook.
                        Dim workbookSet As IWorkbookSet = Factory.GetWorkbookSet()
             
                        ' Set to not read VBA or Objects (shapes).
                        workbookSet.ReadVBA = False
                        workbookSet.ReadObjects = False
             
                        ' Read MyWorkbook.xls without VBA or objects.
                        Dim workbook As IWorkbook = workbookSet.Workbooks.Open("MyWorkbook.xls")
                    End Sub 'Main
                End Class 'Program
            End Namespace 'ConsoleApplication
                </code>
      </example>
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.ReferenceStyle">
      <summary>
            Gets or sets the property which specifies whether to use <strong>A1</strong>
            style or <strong>R1C1</strong> style in cell and range references.
            </summary>
      <remarks>
        <para>Note that the <strong>WorkbookView</strong> control does not support
                <strong>ReferenceStyle.R1C1</strong>.</para>
        <para>The default value is <strong>ReferenceStyle.A1</strong>.</para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.StartupPath">
      <summary>
            Gets or sets the startup path, which is referred to by some external formula references.
            </summary>
      <remarks>
            The default value is "".
            </remarks>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.AltStartupPath" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.LibraryPath" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.SheetsInNewWorkbook">
      <summary>
            Gets or sets the number of worksheets in a newly created workbook.
            </summary>
      <remarks>The default value is one.</remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Add" />
    </member>
    <member name="P:SpreadsheetGear.IWorkbookSet.Workbooks">
      <summary>
                Returns an instance of <see cref="T:SpreadsheetGear.IWorkbooks" /> which represents all of the
                workbooks in this workbook set.
            </summary>
    </member>
    <member name="E:SpreadsheetGear.IWorkbookSet.EndCalculate">
      <summary>
            Occurs when calculation of this workbook set has completed. See remarks for
            information about the calling thread.
            </summary>
      <remarks>
        <para>This event occurs when calculation of this workbook set has completed.</para>
        <para>This event is always invoked on the thread which completes calculation of the
                workbook set:</para>
        <para>
        </para>
        <list type="bullet">
          <item>
                        If calculation completes during execution of an API such as <see cref="M:SpreadsheetGear.IWorkbook.Save" /> which may require calculation to be completed, the
                        <see cref="M:SpreadsheetGear.IWorkbookSet.GetLock">locked</see> state of the workbook set will be the same
                        as when the API was called.
                    </item>
          <item>If calculation completes during background calculation, the invoking
                    thread is the background calculation thread and the workbook set will be locked
                    before this event is invoked.</item>
        </list>
        <para>This event will not occur until calculation is complete. For example, this
                event will not occur if a partial calculation is completed in response to getting
                the value of a cell, and it will not be invoked if background calculation is
                interrupted.</para>
        <para>The <strong>WorkbookView.Calculate</strong> event is always invoked on the
                thread which created the <strong>WorkbookView</strong> control and is generally a
                better choice when using the <strong>WorkbookView</strong> control.</para>
      </remarks>
      <seealso cref="T:SpreadsheetGear.EndCalculateEventArgs" />
      <seealso cref="P:SpreadsheetGear.EndCalculateEventArgs.BackgroundCalculation" />
    </member>
    <member name="T:SpreadsheetGear.IWorkbooks">
      <summary>
            Represents all of the workbooks in a workbook set.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Save to C:\MyData.xls.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97);
                    // Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
                    // Save to C:\MyData.xls again.
                    workbook.Save();
                    // Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls");
                    // Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets["Sheet1"].Cells["A1"].Value.ToString());
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Save to C:\MyData.xls as an Excel file.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97)
                    ' Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
                    ' Save to C:\MyData.xls again.
                    workbook.Save()
                    ' Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls")
                    ' Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets("Sheet1").Cells("A1").Value.ToString())
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IWorkbooks.Add">
      <summary>
            Returns a newly created workbook.
            </summary>
      <returns>The newly created workbook.</returns>
      <remarks>The number of worksheets in the new workbook is specified by
            <strong>IWorkbookSet.SheetsInNewWorkbook</strong>.</remarks>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
                    // Save to memory as an Excel file.
                    byte[] buffer = workbook.SaveToMemory(SpreadsheetGear.FileFormat.XLS97);
                    // Close the workbook, removing it from the workbook set.
                    workbook.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.OpenFromMemory(buffer);
                    // Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets["Sheet1"].Cells["A1"].Value.ToString());
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
                    ' Save to memory as an Excel file.
                    Dim buffer As Byte() = workbook.SaveToMemory(SpreadsheetGear.FileFormat.XLS97)
                    ' Close the workbook, removing it from the workbook set.
                    workbook.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.OpenFromMemory(buffer)
                    ' Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets("Sheet1").Cells("A1").Value.ToString())
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.SheetsInNewWorkbook" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbooks.Close">
      <summary>
            Closes all of the workbooks in a workbook set.
            </summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Save to C:\MyData.xls.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97);
                    // Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
                    // Save to C:\MyData.xls again.
                    workbook.Save();
                    // Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls");
                    // Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets["Sheet1"].Cells["A1"].Value.ToString());
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Save to C:\MyData.xls as an Excel file.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97)
                    ' Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
                    ' Save to C:\MyData.xls again.
                    workbook.Save()
                    ' Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls")
                    ' Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets("Sheet1").Cells("A1").Value.ToString())
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.IWorkbooks.Contains(SpreadsheetGear.IWorkbook)">
      <summary>
            Returns <strong>true</strong> if the specified <strong>IWorkbook</strong> is contained by the collection of workbooks,
            otherwise <strong>false</strong> is returned.
            </summary>
      <param name="workbook">Specifies the workbook to check.</param>
      <returns>
        <strong>true</strong> if the specified <strong>IWorkbook</strong> is contained by the collection of workbooks,
            otherwise <strong>false</strong> is returned.</returns>
    </member>
    <member name="M:SpreadsheetGear.IWorkbooks.Open(System.String)">
      <summary>
            Open an existing workbook in a newly created instance of <strong>IWorkbook</strong>.
            </summary>
      <returns>The opened workbook.</returns>
      <remarks>
            The various workbook settings which make a workbook read-only in an end user
            workbookSet have no affect at this level. These settings are available as
            <strong>IWorkbook</strong> properties.
            </remarks>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Save to C:\MyData.xls.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97);
                    // Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
                    // Save to C:\MyData.xls again.
                    workbook.Save();
                    // Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls");
                    // Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets["Sheet1"].Cells["A1"].Value.ToString());
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Save to C:\MyData.xls as an Excel file.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97)
                    ' Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
                    ' Save to C:\MyData.xls again.
                    workbook.Save()
                    ' Close the workbook, removing it from the workbook set.
                    workbookSet.Workbooks.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.Open("C:\\MyData.xls")
                    ' Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets("Sheet1").Cells("A1").Value.ToString())
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <param name="filename">
            The filename of the workbook to open.
            </param>
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbooks.Open(System.String,System.String)">
      <summary>
            Open an existing workbook in a newly created instance of <strong>IWorkbook</strong>.
            </summary>
      <returns>The opened workbook.</returns>
      <remarks>
            The various workbook settings which make a workbook read-only in an end user
            workbookSet have no affect at this level. These settings are available as
            <strong>IWorkbook</strong> properties.
            </remarks>
      <param name="filename">
            The filename of the workbook to open.
            </param>
      <param name="password">The password to use when opening the workbook.</param>
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[],System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream,System.String)" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])">
      <summary>
            Open an existing workbook in a newly created instance of <strong>IWorkbook</strong>.
            </summary>
      <returns>The opened workbook.</returns>
      <remarks>
            The various workbook settings which make a workbook read-only in an end user
            workbookSet have no affect at this level. These settings are available as
            <strong>IWorkbook</strong> properties.
            </remarks>
      <param name="buffer">The buffer to open the workbook from.</param>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
                    // Save to memory as an Excel file.
                    byte[] buffer = workbook.SaveToMemory(SpreadsheetGear.FileFormat.XLS97);
                    // Close the workbook, removing it from the workbook set.
                    workbook.Close();
                    // Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.OpenFromMemory(buffer);
                    // Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets["Sheet1"].Cells["A1"].Value.ToString());
                }
            }
                </code>
        <code lang="VB">
            Class Program
                Shared Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
                    ' Save to memory as an Excel file.
                    Dim buffer As Byte() = workbook.SaveToMemory(SpreadsheetGear.FileFormat.XLS97)
                    ' Close the workbook, removing it from the workbook set.
                    workbook.Close()
                    ' Open the saved workbook from memory.
                    workbook = workbookSet.Workbooks.OpenFromMemory(buffer)
                    ' Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets("Sheet1").Cells("A1").Value.ToString())
                End Sub 'Main
            End Class 'Program
                </code>
      </example>
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[],System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
    </member>
    <member name="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[],System.String)">
      <summary>
            Open an existing workbook in a newly created instance of <strong>IWorkbook</strong>.
            </summary>
      <returns>The opened workbook.</returns>
      <remarks>
            The various workbook settings which make a workbook read-only in an end user
            workbookSet have no affect at this level. These settings are available as
            <strong>IWorkbook</strong> properties.
            </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream,System.String)" />
      <param name="buffer">The buffer to open the workbook from.</param>
      <param name="password">The password to use when opening the workbook.</param>
    </member>
    <member name="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)">
      <summary>
            Open an existing workbook in a newly created instance of <strong>IWorkbook</strong>.
            </summary>
      <returns>The opened workbook.</returns>
      <remarks>
        <para>The stream must consist solely of a file which SpreadsheetGear is able
            to read. If the stream is not seekable, this method will copy the stream to a 
            <strong>MemoryStream</strong> and read the workbook from the MemoryStream.</para>
        <para>The various workbook settings which make a workbook read-only in an end user
            workbookSet have no affect at this level. These settings are available as
            <strong>IWorkbook</strong> properties.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <example>
        <code lang="CS"><![CDATA[
            class Program
            {
                static void Main(string[] args)
                {
                    // Create a simple workbook.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
             
                    // Save the workbook to a memory stream.
                    System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
                    workbook.SaveToStream(memoryStream, SpreadsheetGear.FileFormat.OpenXMLWorkbook);
             
                    // Close the workbook.
                    workbook.Close();
             
                    // Create another workbook from the memory stream.
                    workbook = SpreadsheetGear.Factory.GetWorkbookSet().Workbooks.OpenFromStream(memoryStream);
                    Console.WriteLine("Sheet1!A1='{0}'", workbook.Worksheets["Sheet1"].Cells["A1"].Value);
                }
            }]]></code>
        <code lang="VB"><![CDATA[
            Module Program
                Sub Main()
                    ' Create a simple workbook. 
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
             
                    ' Save the workbook to a memory stream. 
                    Dim memoryStream As New System.IO.MemoryStream()
                    workbook.SaveToStream(memoryStream, SpreadsheetGear.FileFormat.OpenXMLWorkbook)
             
                    ' Close the workbook. 
                    workbook.Close()
             
                    ' Create another workbook from the memory stream. 
                    workbook = SpreadsheetGear.Factory.GetWorkbookSet().Workbooks.OpenFromStream(memoryStream)
                    Console.WriteLine("Sheet1!A1='{0}'", workbook.Worksheets("Sheet1").Cells("A1").Value)
                End Sub
            End Module]]></code>
      </example>
      <param name="stream">
            The stream containing the workbook to open.
            </param>
    </member>
    <member name="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream,System.String)">
      <summary>
            Open an existing workbook in a newly created instance of <strong>IWorkbook</strong>.
            </summary>
      <returns>The opened workbook.</returns>
      <remarks>
        <para>The stream must consist solely of a file which SpreadsheetGear is able
            to read. If the stream is not seekable, this method will copy the stream to a 
            <strong>MemoryStream</strong> and read the workbook from the MemoryStream.</para>
        <para>The various workbook settings which make a workbook read-only in an end user
            workbookSet have no affect at this level. These settings are available as
            <strong>IWorkbook</strong> properties.</para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.Save" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveAs(System.String,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToMemory(SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbook.SaveToStream(System.IO.Stream,SpreadsheetGear.FileFormat,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[],System.String)" />
      <param name="stream">
            The stream containing the workbook to open.
            </param>
      <param name="password">The password to use when opening the workbook.</param>
    </member>
    <member name="P:SpreadsheetGear.IWorkbooks.Item(System.Int32)">
      <summary>
            Returns the workbook specified by the zero based index.
            </summary>
      <param name="index">The zero based index of the workbook to return.</param>
    </member>
    <member name="P:SpreadsheetGear.IWorkbooks.Item(System.String)">
      <summary>
            Returns the specified workbook.
            </summary>
      <param name="name">The name of the workbook to return.</param>
    </member>
    <member name="P:SpreadsheetGear.IWorkbooks.Count">
      <summary>
            Returns the number of workbooks in the workbook set.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.IWorkbooks.WorkbookSet">
      <summary>
            Returns the parent workbook set of this <strong>IWorkbooks</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Themes.IThemeFont.Name">
      <summary>
            Gets or sets the represented theme font name.
            </summary>
      <seealso cref="T:SpreadsheetGear.Themes.IThemeFonts" />
      <seealso cref="T:SpreadsheetGear.Themes.IFontScheme" />
      <seealso cref="T:SpreadsheetGear.Themes.ITheme" />
    </member>
    <member name="T:SpreadsheetGear.Commands.Command">
      <summary>
            Provides the base class for all commands which will be executed by
            <strong>CommandManager</strong>.
            </summary>
      <remarks>
        <para>
                    Commands are owned by <see cref="P:SpreadsheetGear.Commands.Command.CommandManager" /> and will be disposed of
                    immediately after being executed if they are not undoable. Undoable commands
                    will be disposed of when they are no longer undoable or redoable.
                </para>
      </remarks>
      <seealso cref="P:SpreadsheetGear.Commands.Command.CommandManager" />
      <seealso cref="T:SpreadsheetGear.Commands.CommandRange" />
    </member>
    <member name="M:SpreadsheetGear.Commands.Command.#ctor(SpreadsheetGear.IWorkbook)">
      <summary>
            Initializes a new instance of <strong>Command</strong> with the specified
            workbook.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.Command.Dispose">
      <summary>Disposes of any resources held by this <strong>Command</strong>.</summary>
      <remarks>
        <para>
                    Any overrides of this method must call the base class implementation of
                    <see cref="M:SpreadsheetGear.Commands.Command.Dispose" />.
                </para>
        <para>
                    Commands are owned by <see cref="P:SpreadsheetGear.Commands.Command.CommandManager" /> and will be disposed of
                    after being executed if they are not undoable. Undoable commands will be
                    disposed of when they are no longer undoable or redoable.
                </para>
      </remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.Command.Execute">
      <summary>Called by the command manager to execute this command.</summary>
      <remarks>
        <para>
                    Commands are owned by <see cref="P:SpreadsheetGear.Commands.Command.CommandManager" /> and will be disposed of
                    after being executed if they are not undoable. Undoable commands will be
                    disposed of when they are no longer undoable or redoable.
                </para>
      </remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.Command.Undo">
      <summary>Called by the command manager to undo this command.</summary>
      <remarks>
        <para>
                    Commands are owned by <see cref="P:SpreadsheetGear.Commands.Command.CommandManager" /> and will be disposed of
                    after being executed if they are not undoable. Undoable commands will be
                    disposed of when they are no longer undoable or redoable.
                </para>
      </remarks>
    </member>
    <member name="P:SpreadsheetGear.Commands.Command.DisplayText">
      <summary>
            Returns the text used for display purposes.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Commands.Command.UndoSupport">
      <summary>Override this property to specify whether or not this command is undoable.</summary>
      <seealso cref="T:SpreadsheetGear.Commands.CommandUndoSupport" />
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandRange">
      <summary>
            Provides the base class for commands which use a worksheet range.
            </summary>
      <remarks>
        <para>
                    This class has built-in undo support which can be utilized by overriding the
                    <see cref="P:SpreadsheetGear.Commands.CommandRange.UndoFlags" /> property.
                </para>
      </remarks>
      <seealso cref="T:SpreadsheetGear.Commands.Command" />
      <seealso cref="T:SpreadsheetGear.Commands.CommandManager" />
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.#ctor(SpreadsheetGear.IRange)">
      <summary>
            Initializes this <strong>CommandRange</strong> with the specified
            <strong>IRange</strong>.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandRange.Range">
      <summary>Returns the range which this command operates on.</summary>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandRange.UndoFlags">
      <summary>
            Returns the <strong>CommandRangeUndoFlags</strong> which specifies what to save
            from the range before executing this command.
            </summary>
      <seealso cref="P:SpreadsheetGear.Commands.CommandRange.UndoSupport" />
      <seealso cref="T:SpreadsheetGear.Commands.CommandRangeUndoFlags" />
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandRange.Clear">
      <summary>
            Represents the default clear command.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.Clear.#ctor(SpreadsheetGear.IRange)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>IRange</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandRange.ClearContents">
      <summary>
            Represents the default clear contents command.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.ClearContents.#ctor(SpreadsheetGear.IRange)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>IRange</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandRange.ClearFormats">
      <summary>
            Represents the default clear formats command.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.ClearFormats.#ctor(SpreadsheetGear.IRange)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>IRange</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandRange.Copy">
      <summary>
            Represents the default clipboard copy command.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.Copy.#ctor(SpreadsheetGear.IRange)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>IRange</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandRange.Cut">
      <summary>
            Represents the default clipboard cut command.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.Cut.#ctor(SpreadsheetGear.IRange)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>IRange</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandRange.Delete">
      <summary>
            Represents the default delete command.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.Delete.#ctor(SpreadsheetGear.IRange)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>IRange</strong>.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.Delete.#ctor(SpreadsheetGear.IRange,SpreadsheetGear.DeleteShiftDirection)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>IRange</strong> and <strong>DeleteShiftDirection</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandRange.Insert">
      <summary>
            Represents the default insert command.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.Insert.#ctor(SpreadsheetGear.IRange)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>IRange</strong>.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.Insert.#ctor(SpreadsheetGear.IRange,SpreadsheetGear.InsertShiftDirection)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>IRange</strong> and <strong>InsertShiftDirection</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandRange.Paste">
      <summary>
            Represents the default clipboard paste command.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandRange.PasteSpecial">
      <summary>
            Represents the default clipboard paste special command.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.PasteSpecial.#ctor(SpreadsheetGear.IRange,SpreadsheetGear.PasteType,SpreadsheetGear.PasteOperation,System.Boolean,System.Boolean)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>IRange</strong> and paste special options.
            </summary>
      <param name="range">Specifies the range for this command to operate on.</param>
      <param name="pasteType">Specifies what to paste.</param>
      <param name="pasteOperation">Specifies how to combine values.</param>
      <param name="skipBlanks">Specifies whether blanks in the source range should be skipped (formatted cells with no data are considered blank cells).</param>
      <param name="transpose">Specifies whether data should be transposed in the destination.</param>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.PasteSpecial.Pasting(SpreadsheetGear.IRange)">
      <summary>
            Called during the execution of <strong>Paste</strong> or
            <strong>PasteSpecial</strong> to allow validation or other special handling of the
            range which is being pasted to.
            </summary>
      <param name="pasteRange">
            Specifies the destination paste range after adjusting for the size of the data
            being pasted.
            </param>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandRange.Paste.#ctor(SpreadsheetGear.IRange)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>IRange</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Advanced.Cells.ValueType">
      <summary>
                Specifies the type of a cell value; cells with no value are represented by an
                <see cref="T:SpreadsheetGear.Advanced.Cells.IValue" /> of <strong>null</strong>.
            </summary>
      <remarks>
        <para>
                    See the <see cref="T:SpreadsheetGear.Advanced.Cells.IValues" /> overview for sample code.
                </para>
        <para>
                    Cells with no value are represented by an <see cref="T:SpreadsheetGear.Advanced.Cells.IValue" /> of
                    <strong>null</strong></para>
      </remarks>
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValue" />
      <seealso cref="T:SpreadsheetGear.Advanced.Cells.IValues" />
    </member>
    <member name="F:SpreadsheetGear.Advanced.Cells.ValueType.Number">
      <summary>
            Specifies a double precision floating point number.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Advanced.Cells.ValueType.Text">
      <summary>
            Specifies text.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Advanced.Cells.ValueType.Logical">
      <summary>
            Specifies a logical (boolean) value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Advanced.Cells.ValueType.Error">
      <summary>
            Specifies a <strong>SpreadsheetGear.ValueError</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.AxisCrosses">
      <summary>
            Specifies where the other axis crosses an axis.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.AxisCrosses.Automatic">
      <summary>
            Cross at an automatic axis value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.AxisCrosses.Custom">
      <summary>
            Cross at a custom axis value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.AxisCrosses.Maximum">
      <summary>
            Cross at the maximum axis value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.AxisCrosses.Minimum">
      <summary>
            Cross at the minimum axis value.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.AxisGroup">
      <summary>
            Specifies the axis group.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.AxisGroup.Primary">
      <summary>
            The primary axis group.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.AxisGroup.Secondary">
      <summary>
            The secondary axis group.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.AxisType">
      <summary>
            Specifies the type of an axis.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.AxisType.Category">
      <summary>
            Category axis or X value axis on scatter charts.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.AxisType.Value">
      <summary>
            Value axis.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.AxisType.Series">
      <summary>
            Series axis on 3-D charts.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.BarShape">
      <summary>
            Specifies the shape of a 3D bar.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.BarShape.Box">
      <summary>
            A simple box.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.BarShape.ConeToMax">
      <summary>
            A cone which is drawn to the top of the scale but clipped (cut off) based on the associated value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.BarShape.ConeToPoint">
      <summary>
            A cone which is drawn so that it's top is at the point representing the associated value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.BarShape.Cylinder">
      <summary>
            A cylinder.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.BarShape.PyramidToMax">
      <summary>
            A pyramid which is drawn to the top of the scale but clipped (cut off) based on the associated value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.BarShape.PyramidToPoint">
      <summary>
            A pyramid which is drawn so that it's top is at the point representing the associated value.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.CategoryType">
      <summary>
            Specifies the scale type on a category axis.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.CategoryType.AutomaticScale">
      <summary>
            Automatically determine scale type based off category data.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.CategoryType.CategoryScale">
      <summary>
            Category scale.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.CategoryType.TimeScale">
      <summary>
            Time scale.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ChartElementPosition">
      <summary>
            Specifies the position of a chart element.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartElementPosition.Automatic">
      <summary>
            Specifies that the position should be determined automatically.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartElementPosition.Custom">
      <summary>
            Specifies that the position is custom.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ChartSplitType">
      <summary>
            Specifies how values are split on a pie of pie chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartSplitType.Position">
      <summary>
            Split series by position.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartSplitType.Value">
      <summary>
            Split series by value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartSplitType.PercentValue">
      <summary>
            Split series by percent value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartSplitType.Custom">
      <summary>
            Split series manually.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ChartType">
      <summary>
            Specifies the chart type for the entire chart or an individual series.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Area">
      <summary>
            Area chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Area3D">
      <summary>
            Area chart with a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.AreaStacked">
      <summary>
            Area chart with stacked values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.AreaStacked100">
      <summary>
            Area chart with 100% stacked values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.AreaStacked1003D">
      <summary>
            Area chart with 100% stacked values and a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.AreaStacked3D">
      <summary>
            Area chart with stacked values and a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.BarClustered">
      <summary>
            Clustered bar chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.BarClustered3D">
      <summary>
            Clustered bar chart with a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.BarStacked">
      <summary>
            Bar chart with stacked values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.BarStacked100">
      <summary>
            Bar chart with 100% stacked values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.BarStacked1003D">
      <summary>
            Bar chart with 100% stacked values and a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.BarStacked3D">
      <summary>
            Bar chart with stacked values and a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.BarOfPie">
      <summary>
            Bar of pie chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Bubble">
      <summary>
            Bubble chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Bubble3DEffect">
      <summary>
            Bubble chart with a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Column3D">
      <summary>
            Column chart with a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ColumnClustered">
      <summary>
            Clustered column chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ColumnClustered3D">
      <summary>
            Clustered column chart with a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ColumnStacked">
      <summary>
            Column chart with stacked values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ColumnStacked100">
      <summary>
            Column chart with 100% stacked values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ColumnStacked1003D">
      <summary>
            Column chart with 100% stacked values and a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ColumnStacked3D">
      <summary>
            Column chart with stacked values and a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Combination">
      <summary>
            Combination chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ConeBarClustered">
      <summary>
            Clustered bar chart with a 3-D visual effect and bars shaped like cones.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ConeBarStacked">
      <summary>
            Bar chart with stacked values, a 3-D visual effect, and bars shaped like cones.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ConeBarStacked100">
      <summary>
            Bar chart with 100% stacked values, a 3-D visual effect, and bars shaped like cones.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ConeCol">
      <summary>
            Column chart with a 3-D visual effect and columns shaped like cones.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ConeColClustered">
      <summary>
            Clustered column chart with a 3-D visual effect and columns shaped like cones.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ConeColStacked">
      <summary>
            Column chart with stacked values, a 3-D visual effect, and columns shaped like cones.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.ConeColStacked100">
      <summary>
            Column chart with 100% stacked values, a 3-D visual effect, and columns shaped like cones.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.CylinderBarClustered">
      <summary>
            Clustered bar chart with a 3-D visual effect and bars shaped like cylinders.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.CylinderBarStacked">
      <summary>
            Bar chart with stacked values, a 3-D visual effect, and bars shaped like cylinders.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.CylinderBarStacked100">
      <summary>
            Bar chart with 100% stacked values, a 3-D visual effect, and bars shaped like cylinders.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.CylinderCol">
      <summary>
            Column chart with a 3-D visual effect and columns shaped like cylinders.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.CylinderColClustered">
      <summary>
            Clustered column chart with a 3-D visual effect and columns shaped like cylinders.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.CylinderColStacked">
      <summary>
            Column chart with stacked values, a 3-D visual effect, and columns shaped like cylinders.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.CylinderColStacked100">
      <summary>
            Column chart with 100% stacked values, a 3-D visual effect, and columns shaped like cylinders.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Doughnut">
      <summary>
            Doughnut chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.DoughnutExploded">
      <summary>
            Doughnut chart with exploded values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Line">
      <summary>
            Line chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Line3D">
      <summary>
            Line chart with a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.LineMarkers">
      <summary>
            Line chart with markers at each value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.LineMarkersStacked">
      <summary>
            Line chart with stacked values and markers at each value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.LineMarkersStacked100">
      <summary>
            Line chart with 100% stacked values and markers at each value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.LineStacked">
      <summary>
            Line chart with stacked values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.LineStacked100">
      <summary>
            Line chart with 100% stacked values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Pie">
      <summary>
            Pie chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Pie3D">
      <summary>
            Pie chart with a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.PieExploded">
      <summary>
            Pie chart with exploded values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.PieExploded3D">
      <summary>
            Pie chart with exploded values and a 3-D visual effect.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.PieOfPie">
      <summary>
            Pie of pie chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.PyramidBarClustered">
      <summary>
            Clustered bar chart with a 3-D visual effect and bars shaped like pyramids.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.PyramidBarStacked">
      <summary>
            Bar chart with stacked values, a 3-D visual effect, and bars shaped like pyramids.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.PyramidBarStacked100">
      <summary>
            Bar chart with 100% stacked values, a 3-D visual effect, and bars shaped like pyramids.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.PyramidCol">
      <summary>
            Column chart with a 3-D visual effect and columns shaped like pyramids.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.PyramidColClustered">
      <summary>
            Clustered column chart with a 3-D visual effect and columns shaped like pyramids.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.PyramidColStacked">
      <summary>
            Column chart with stacked values, a 3-D visual effect, and columns shaped like pyramids.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.PyramidColStacked100">
      <summary>
            Column chart with 100% stacked values, a 3-D visual effect, and columns shaped like pyramids.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Radar">
      <summary>
            Radar chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.RadarFilled">
      <summary>
            Radar chart with the data area filled with color.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.RadarMarkers">
      <summary>
            Radar chart with markers at each value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.StockHLC">
      <summary>
            High-Low-Close stock chart (Requires three series).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.StockOHLC">
      <summary>
            Open-High-Low-Close stock chart (Requires four series).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.StockVHLC">
      <summary>
            Volume-High-Low-Close stock chart (Requires four series).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.StockVOHLC">
      <summary>
            Volume-Open-High-Low-Close stock chart (Requires five series).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.Surface">
      <summary>
            Surface chart with a 3-D visual effect (Requires minimum of two series).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.SurfaceTopView">
      <summary>
            Surface chart viewed from above (Requires minimum of two series).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.SurfaceTopViewWireframe">
      <summary>
            Surface chart viewed from above with no fill color (Requires minimum of two series).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.SurfaceWireframe">
      <summary>
            Surface chart with a 3-D visual effect and no fill color (Requires minimum of two series).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.XYScatter">
      <summary>
            Scatter chart with markers at each value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.XYScatterLines">
      <summary>
            Scatter chart with markers at each value and lines connecting each data point.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.XYScatterLinesNoMarkers">
      <summary>
            Scatter chart with lines connecting each data point without markers.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.XYScatterSmooth">
      <summary>
            Scatter chart with markers at each value and smoothed lines connecting each data point.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ChartType.XYScatterSmoothNoMarkers">
      <summary>
            Scatter chart with smoothed lines connecting each data point without markers.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.DataLabelPosition">
      <summary>
            Specifies the position of data labels.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.Mixed">
      <summary>
            Specifies position is mixed.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.Automatic">
      <summary>
            Specifies position is automatically determined by chart type.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.OutsideEnd">
      <summary>
            Specifies position is outside end.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.InsideEnd">
      <summary>
            Specifies position is inside end.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.Center">
      <summary>
            Specifies position is center.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.InsideBase">
      <summary>
            Specifies position is inside base.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.Above">
      <summary>
            Specifies position is above.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.Below">
      <summary>
            Specifies position is below.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.Left">
      <summary>
            Specifies position is left.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.Right">
      <summary>
            Specifies position is right.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.BestFit">
      <summary>
            Specifies position is best fit.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DataLabelPosition.Custom">
      <summary>
            Specifies position is custom or moved.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.DisplayBlanksAs">
      <summary>
            Specifies the way cells with no values are displayed in a chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DisplayBlanksAs.NotPlotted">
      <summary>
            Skip blank cells.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DisplayBlanksAs.Zero">
      <summary>
            Treat blank cells as zero.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.DisplayBlanksAs.Interpolated">
      <summary>
            Interpolates values based on non-blank cells.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.EndStyleCap">
      <summary>
            Specifies the end style cap of error bars.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.EndStyleCap.NoCap">
      <summary>
            Specifies no end cap.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.EndStyleCap.Cap">
      <summary>
            Specifies an end cap.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ErrorBarDirection">
      <summary>
            Specifies the error bar direction.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ErrorBarDirection.X">
      <summary>
            Direction X.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ErrorBarDirection.Y">
      <summary>
            Direction Y.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ErrorBarInclude">
      <summary>
            Specifies what to include with the error bars.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ErrorBarInclude.None">
      <summary>
            Include no error bars.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ErrorBarInclude.MinusValues">
      <summary>
            Include minus values with error bars.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ErrorBarInclude.PlusValues">
      <summary>
            Include plus values with error bars.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ErrorBarInclude.Both">
      <summary>
            Include plus values and minus values with error bars.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ErrorBarType">
      <summary>
            Specifies the type of error bars.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ErrorBarType.Percent">
      <summary>
            Percent error amount.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ErrorBarType.FixedValue">
      <summary>
            Fixed error amount.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ErrorBarType.StDev">
      <summary>
            Standard deviation error amount.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ErrorBarType.Custom">
      <summary>
            Custom error amount.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ErrorBarType.StError">
      <summary>
            Standard error error amount.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.LegendPosition">
      <summary>
            Specifies the position of the legend.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.LegendPosition.Bottom">
      <summary>
            Specifies position is bottom.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.LegendPosition.Corner">
      <summary>
            Specifies position is corner.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.LegendPosition.Top">
      <summary>
            Specifies position is top.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.LegendPosition.Right">
      <summary>
            Specifies position is right.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.LegendPosition.Left">
      <summary>
            Specifies position is left.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.LegendPosition.Custom">
      <summary>
            Specifies position is custom or moved.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.MarkerStyle">
      <summary>
            Specifies the marker style.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.MarkerStyle.Automatic">
      <summary>
            Marker style is automatically determined by the series.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.MarkerStyle.None">
      <summary>
            No marker.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.MarkerStyle.Square">
      <summary>
            Marker style square.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.MarkerStyle.Diamond">
      <summary>
            Marker style diamond.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.MarkerStyle.Triangle">
      <summary>
            Marker style triangle.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.MarkerStyle.X">
      <summary>
            Marker style X.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.MarkerStyle.Star">
      <summary>
            Marker style star.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.MarkerStyle.Dot">
      <summary>
            Marker style dot.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.MarkerStyle.Dash">
      <summary>
            Marker style dash.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.MarkerStyle.Circle">
      <summary>
            Marker style circle.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.MarkerStyle.Plus">
      <summary>
            Marker style plus.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.RowCol">
      <summary>
            Specifies whether data series values come from the columns in a row or from the rows in a column.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.RowCol.Columns">
      <summary>
            Series values come from the columns in a row.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.RowCol.Rows">
      <summary>
            Series values come from the rows in a column.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.ScaleType">
      <summary>
            Specifies the scale type on a value axis.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ScaleType.Linear">
      <summary>
            Linear scale.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.ScaleType.Logarithmic">
      <summary>
            Logarithmic scale.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.SizeRepresents">
      <summary>
            Specifies what the size values represent on a bubble chart.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.SizeRepresents.Area">
      <summary>
            Size represents the ratio of the area of bubbles.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.SizeRepresents.Width">
      <summary>
            Size represents the ratio of the width of bubbles.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.TickLabelOrientation">
      <summary>
            Provides commonly used values for the <strong>SpreadsheetGear.Charts.ITickLabels.Orientation</strong> property.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickLabelOrientation.Automatic">
      <summary>
            Specifies that text orientation should be determined automatically.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickLabelOrientation.Downward">
      <summary>
            Specifies that text should be drawn downwards.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickLabelOrientation.Horizontal">
      <summary>
            Specifies that text should be drawn normally.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickLabelOrientation.Upward">
      <summary>
            Specifies that text should be drawn upwards.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickLabelOrientation.Vertical">
      <summary>
            Specifies that text should be drawn vertically.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.TickLabelPosition">
      <summary>
            Specifies the tick label position on an axis.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickLabelPosition.None">
      <summary>
            No tick labels.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickLabelPosition.Low">
      <summary>
            Tick labels are below the plot area.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickLabelPosition.High">
      <summary>
            Tick labels are above the plot area.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickLabelPosition.NextToAxis">
      <summary>
            Tick labels are next to the axis.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.TickMark">
      <summary>
            Specifies the type of tick marks on an axis.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickMark.None">
      <summary>
            No tick marks.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickMark.Inside">
      <summary>
            Tick marks are inside the axis.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickMark.Outside">
      <summary>
            Tick marks are outside the axis.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TickMark.Cross">
      <summary>
            Tick marks cross the axis.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.TimeUnit">
      <summary>
            Specifies the time unit for an axis with a time-scale.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TimeUnit.Days">
      <summary>
            Time unit in days.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TimeUnit.Months">
      <summary>
            Time unit in months.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TimeUnit.Years">
      <summary>
            Time unit in years.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Charts.TrendlineType">
      <summary>
            Specifies the type of trendline.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TrendlineType.Linear">
      <summary>
            Specifies a linear trendline.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TrendlineType.Polynomial">
      <summary>
            Specifies a polynomial trendline.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TrendlineType.Exponential">
      <summary>
            Specifies an exponential trendline.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TrendlineType.Logarithmic">
      <summary>
            Specifies a logarithmic trendline.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TrendlineType.Power">
      <summary>
            Specifies a power trendline.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Charts.TrendlineType.MovingAvg">
      <summary>
            Specifies a moving average trendline.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandManager">
      <summary>
            Provides the ability to override the behavior of commands , as well 
            as the ability to create new undoable commands.
            </summary>
      <remarks>
        <para>Each workbook set is associated with one instance of
                <strong>CommandManager</strong>. This association is established when the
                <strong>CommandManager</strong> constructor is called.</para>
        <para>To create a custom undoable command:</para>
        <list type="number">
          <item>
                        Create a custom command by subclassing <see cref="T:SpreadsheetGear.Commands.Command" /> or
                        <see cref="T:SpreadsheetGear.Commands.CommandRange" />.
                    </item>
          <item>
                        Override the <see cref="P:SpreadsheetGear.Commands.Command.UndoSupport" /> and / or
                        <see cref="P:SpreadsheetGear.Commands.CommandRange.UndoFlags" /> properties.
                    </item>
          <item>
                        Override the <see cref="M:SpreadsheetGear.Commands.Command.Undo" /> method (not required with
                        <strong>CommandRange</strong> which includes built-in support with
                        <see cref="P:SpreadsheetGear.Commands.CommandRange.UndoFlags" />).
                    </item>
          <item>
                        Override the <see cref="M:SpreadsheetGear.Commands.Command.Execute" /> method.
                    </item>
          <item>Create and execute the command:</item>
        </list>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
            <para>CommandCustom command = new CommandCustom();</para>
            <para>workbookView1.ActiveCommandManager.Execute(command);</para>
          </blockquote>
        </blockquote>
        <para>To override the behavior of an existing command:</para>
        <list type="number">
          <item>
                        Create a new command manager by subclassing
                        <see cref="T:SpreadsheetGear.Commands.CommandManager" />.
                    </item>
          <item>
                        Override any of the methods which create default commands, such as
                        <see cref="M:SpreadsheetGear.Commands.CommandManager.CreateCommandPaste(SpreadsheetGear.IRange)" />, and return the
                        command you wish to execute. This can be an existing command with different
                        options, a custom command with your own implementation, or null if you wish
                        to disable the command.
                    </item>
          <item>Instantiate your subclass of <strong>CommandManager</strong> which will
                    make it the default command manager of the specified workbook set.</item>
        </list>
      </remarks>
      <seealso cref="T:SpreadsheetGear.Commands.Command" />
      <seealso cref="T:SpreadsheetGear.Commands.CommandRange" />
      <example>
        <code lang="CS">
            /*
                     * Create an instance of CommandSimple and execute it.
                     */
                    private void buttonExecute_Click(object sender, EventArgs e)
                    {
                        // Acquire a lock on the workbook set.
                        workbookView.GetLock();
             
                        try
                        {
                            // Create a simple command.
                            CommandSimple command = new CommandSimple(workbookView);
             
                            // Execute the command.
                            workbookView.ActiveCommandManager.Execute(command);
                        }
                        finally
                        {
                            // Release the lock on the workbook set.
                            workbookView.ReleaseLock();
                        }
                    }
             
                    /*
                     * Undo the last executed command if there is one.
                     */
                    private void buttonUndo_Click(object sender, EventArgs e)
                    {
                        // Acquire a lock on the workbook set.
                        workbookView.GetLock();
             
                        try
                        {
                            // Undo the last undoable command.
                            workbookView.ActiveCommandManager.Undo();
                        }
                        catch (Exception exc)
                        {
                            MessageBox.Show(
                                this, exc.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        finally
                        {
                            // Release the lock on the workbook set.
                            workbookView.ReleaseLock();
                        }
                    }
             
                    /*
                     * Demonstrate creating a simple undoable command which
                     * toggles the display of gridlines.
                     */
                    private class CommandSimple : SpreadsheetGear.Commands.Command
                    {
                        private WorkbookView _workbookView;
                        private bool _saveDisplayGridlines;
             
                        public CommandSimple(WorkbookView workbookView)
                            : base(workbookView.ActiveWorkbook)
                        {
                            _workbookView = workbookView;
                        }
             
                        public override string DisplayText
                        {
                            get
                            {
                                // Text displayed in Undo menu.
                                return "Toggle Display Gridlines";
                            }
                        }
             
                        public override CommandUndoSupport UndoSupport
                        {
                            get
                            {
                                // Undo is fully supported.
                                return CommandUndoSupport.Full;
                            }
                        }
             
                        protected override bool Execute()
                        {
                            // Verify that a lock has already been acquired.
                            SG.Diagnostics.Debug.Assert(_workbookView.ActiveWorkbookSet.HasLock);
             
                            // Execute the command - we won't save state since we're
                            // just toggling a boolean value.
                            IWorksheetWindowInfo windowInfo = _workbookView.ActiveWorksheetWindowInfo;
                            _saveDisplayGridlines = windowInfo.DisplayGridlines;
                            windowInfo.DisplayGridlines = !_saveDisplayGridlines;
                            return true;
                        }
             
                        protected override bool Undo()
                        {
                            // Undo the command.
                            _workbookView.ActiveWorksheetWindowInfo.DisplayGridlines = _saveDisplayGridlines;
                            return true;
                        }
                    }
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.#ctor(SpreadsheetGear.IWorkbookSet)">
      <summary>
            Initializes a new instance of <strong>CommandManager</strong> with the specified
            <strong>IWorkbookSet</strong>.
            </summary>
      <param name="workbookSet">
            Specifies the workbook set which will own this
            <strong>CommandManager</strong>.
            </param>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.ClearCommands">
      <summary>Clears all undoable and redoable commands.</summary>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.ClearCommands(SpreadsheetGear.IWorkbook)">
      <summary>Clears all undoable and redoable commands which were
            executed on the specified workbook.</summary>
      <param name="workbook">Specifies the workbook which was operated on.</param>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandClear(SpreadsheetGear.IRange)">
      <summary>Creates an instance of the default clear command.</summary>
      <param name="range">Specifies the range which this command will affect.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandClearContents(SpreadsheetGear.IRange)">
      <summary>
            Creates an instance of the default clear contents command.
            </summary>
      <param name="range">Specifies the range which this command will affect.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandClearFormats(SpreadsheetGear.IRange)">
      <summary>
            Creates an instance of the default clear formats command.
            </summary>
      <param name="range">Specifies the range which this command will affect.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandCopy(SpreadsheetGear.IRange)">
      <summary>
            Creates an instance of the default copy command.
            </summary>
      <param name="range">Specifies the range which this command will affect.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandCut(SpreadsheetGear.IRange)">
      <summary>
            Creates an instance of the default cut command.
            </summary>
      <param name="range">Specifies the range which this command will affect.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandDelete(SpreadsheetGear.IRange)">
      <summary>
            Creates an instance of the default delete command.
            </summary>
      <param name="range">Specifies the range which this command will affect.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandDelete(SpreadsheetGear.IRange,SpreadsheetGear.DeleteShiftDirection)">
      <summary>
            Creates an instance of the default delete command.
            </summary>
      <param name="range">Specifies the range which this command will affect.</param>
      <param name="shiftDirection">Specifies the direction which cells will be shifted.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandInsert(SpreadsheetGear.IRange)">
      <summary>
            Creates an instance of the default insert command.
            </summary>
      <param name="range">Specifies the range which this command will affect.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandInsert(SpreadsheetGear.IRange,SpreadsheetGear.InsertShiftDirection)">
      <summary>
            Creates an instance of the default insert command.
            </summary>
      <param name="range">Specifies the range which this command will affect.</param>
      <param name="shiftDirection">Specifies the direction which cells will be shifted.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandPaste(SpreadsheetGear.IRange)">
      <summary>
            Creates an instance of the default paste command.
            </summary>
      <param name="range">Specifies the range which this command will affect.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandPasteSpecial(SpreadsheetGear.IRange,SpreadsheetGear.PasteType,SpreadsheetGear.PasteOperation,System.Boolean,System.Boolean)">
      <summary>
            Creates an instance of the default paste special command.
            </summary>
      <param name="range">Specifies the range which this command will affect.</param>
      <param name="pasteType">Specifies what to paste.</param>
      <param name="pasteOperation">Specifies how to combine values.</param>
      <param name="skipBlanks">Specifies whether blanks in the source range should be skipped (formatted cells with no data are considered blank cells).</param>
      <param name="transpose">Specifies whether data should be transposed in the destination.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandPrint(SpreadsheetGear.ISheet,SpreadsheetGear.Printing.PrintWhat,System.Boolean,System.Boolean)">
      <summary>
            Creates an instance of the default print command.
            </summary>
      <param name="sheet">Specifies the sheet.</param>
      <param name="printWhat">Specifies what to print.</param>
      <param name="printPreview">Specifies whether to do a print preview.</param>
      <param name="showPrintDialog">Specifies whether the print dialog should be displayed before printing.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.CreateCommandPrint(System.Collections.Generic.ICollection{SpreadsheetGear.IPrintable},System.Boolean,System.Boolean)">
      <summary>
            Creates an instance of the default print command.
            </summary>
      <param name="printables">Specifies a list of printable objects.</param>
      <param name="printPreview">Specifies whether to do a print preview.</param>
      <param name="showPrintDialog">Specifies whether the print dialog should be displayed before printing.</param>
      <remarks>Override this method to provide a custom implementation of this command.</remarks>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.Execute(SpreadsheetGear.Commands.Command)">
      <summary>
            Executes the specified command by calling the command's <strong>Execute</strong>
            method.
            </summary>
      <remarks>
        <para>
                    Commands are owned by <see cref="T:SpreadsheetGear.Commands.CommandManager" /> after being executed,
                    and will be disposed of immediately if they are not undoable. Undoable commands
                    will be disposed of when they are no longer undoable or redoable.
                </para>
      </remarks>
      <seealso cref="M:SpreadsheetGear.Commands.Command.Execute" />
      <seealso cref="M:SpreadsheetGear.Commands.CommandManager.Undo" />
      <seealso cref="M:SpreadsheetGear.Commands.CommandManager.Redo" />
      <param name="command">Specifies the command to be executed.</param>
      <returns>true if the command is successfully executed, false otherwise.</returns>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.Redo">
      <summary>
            Redoes the last undone command by calling the command's <strong>Execute</strong>
            method.
            </summary>
      <seealso cref="M:SpreadsheetGear.Commands.Command.Execute" />
      <seealso cref="M:SpreadsheetGear.Commands.CommandManager.Execute(SpreadsheetGear.Commands.Command)" />
      <seealso cref="M:SpreadsheetGear.Commands.CommandManager.Undo" />
      <returns>true if the command is successfully executed, false otherwise.</returns>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandManager.Undo">
      <summary>
            Undo the last executed command by calling the command's <strong>Undo</strong>
            method.
            </summary>
      <seealso cref="M:SpreadsheetGear.Commands.Command.Undo" />
      <seealso cref="M:SpreadsheetGear.Commands.CommandManager.Execute(SpreadsheetGear.Commands.Command)" />
      <seealso cref="M:SpreadsheetGear.Commands.CommandManager.Redo" />
      <returns>true if the command is successfully undone, false otherwise.</returns>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandManager.CanRedo">
      <summary>
            Returns true if there is a command available for redo, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandManager.CanUndo">
      <summary>
            Returns true if there is a command available for undo, otherwise false is returned.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandManager.RedoDisplayText">
      <summary>
            Returns a description of the current redoable command.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandManager.UndoDisplayText">
      <summary>
            Returns a description of the current undoable command.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandManager.UndoLimit">
      <summary>
            Gets or sets the maximum number of undoable commands that will 
            be retained by the CommandManager.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandPrint">
      <summary>
            Provides the base class for commands that print.
            </summary>
      <seealso cref="T:SpreadsheetGear.Commands.Command" />
      <seealso cref="T:SpreadsheetGear.Commands.CommandManager" />
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandPrint.#ctor(SpreadsheetGear.ISheet,SpreadsheetGear.Printing.PrintWhat,System.Boolean,System.Boolean)">
      <summary>
            Initializes this <strong>Command</strong> with the specified
            <strong>ISheet</strong> and print options.
            </summary>
      <param name="sheet">Specifies the sheet.</param>
      <param name="printWhat">Specifies what to print.</param>
      <param name="printPreview">Specifies whether to do a print preview.</param>
      <param name="showPrintDialog">Specifies whether the print dialog should be displayed before printing.</param>
    </member>
    <member name="M:SpreadsheetGear.Commands.CommandPrint.#ctor(System.Collections.Generic.ICollection{SpreadsheetGear.IPrintable},System.Boolean,System.Boolean)">
      <summary>
            Initializes this <strong>Command</strong> with the specified printable objects.
            </summary>
      <param name="printables">Specifies a list of printable objects.</param>
      <param name="printPreview">Specifies whether to do a print preview.</param>
      <param name="showPrintDialog">Specifies whether the print dialog should be displayed before printing.</param>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandPrint.IsPrintPreview">
      <summary>
            Gets the property which specifies whether to do a print preview.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandPrint.IsShowPrintDialog">
      <summary>
            Gets the property which specifies whether the print dialog should be displayed before printing.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandPrint.Printables">
      <summary>
            Returns the printable objects that this command operates on.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandPrint.PrintWhat">
      <summary>
            Gets the property which specifies what to print.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Commands.CommandPrint.Sheet">
      <summary>
            Returns the sheet which this command operates on.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandRangeUndoFlags">
      <summary>Specifies what must be saved to undo a <strong>CommandRange</strong>.</summary>
      <example>
            Multiple options may be specified by ORing them together, such as
            <strong>(CommandRangeUndoFlags.Values | CommandRangeUndoFlags.Formats)</strong>.
            </example>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.None">
      <summary>
            Specifies that nothing is to be saved.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.Formats">
      <summary>
            Specifies that formatting is to be saved.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.Values">
      <summary>
            Specifies that values and formulas are to be preserved.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.Hyperlinks">
      <summary>
            Specifies that hyperlinks should be preserved.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.MergeState">
      <summary>
            Specifies that merge state should be preserved.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.RowInfo">
      <summary>Specifies that row height, hidden state and outline info be preserved.</summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.ColumnInfo">
      <summary>Specifies that column width, hidden state and outline info be preserved.</summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.FormatBorders">
      <summary>
            Specifies that border formatting be preserved (including expanded range).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.FormulaFixups">
      <summary>
            Specifies that fixed up formulas outside of the primary range be preserved (for Insert, Delete and Cut/Paste).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.Comments">
      <summary>
            Specifies that cell comments should be preserved.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.Validation">
      <summary>
            Specifies that data validation should be preserved.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.FormatConditions">
      <summary>
            Specifies that conditional formats be preserved.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandRangeUndoFlags.AutoFilters">
      <summary>
            Specifies that autofilters be preserved.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Commands.CommandUndoSupport">
      <summary>
            Specifies the type of undo support for a command.
            </summary>
      <seealso cref="P:SpreadsheetGear.Commands.Command.UndoSupport" />
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandUndoSupport.None">
      <summary>
            Undo is not supported; the undo and redo buffers are cleared after the
            command is executed.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandUndoSupport.Full">
      <summary>
            Undo is fully supported.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Commands.CommandUndoSupport.Ignore">
      <summary>
            Undo is not supported but the undo and redo buffers are left intact.  
            </summary>
    </member>
    <member name="T:SpreadsheetGear.ComponentModel.WorkbookSetContainer">
      <summary>
            Implements a container for a serializing a WorkbookSet to / from a byte array or base64 string.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.ComponentModel.WorkbookSetContainer.System#IDisposable#Dispose">
      <summary> 
            Clean up any resources being used.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.ComponentModel.WorkbookSetContainer.WorkbookSet">
      <summary>
            Specifies the workbook set contained by this <strong>WorkbookSetContainer</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Data.SetDataFlags">
      <summary>
            Specifies options for the <see cref="M:SpreadsheetGear.IRange.CopyFromDataTable(System.Data.DataTable,SpreadsheetGear.Data.SetDataFlags)" /> method.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.CopyFromDataTable(System.Data.DataTable,SpreadsheetGear.Data.SetDataFlags)" />
      <seealso cref="M:SpreadsheetGear.IRange.GetDataTable(SpreadsheetGear.Data.GetDataFlags)" />
      <seealso cref="T:SpreadsheetGear.Data.GetDataFlags" />
    </member>
    <member name="F:SpreadsheetGear.Data.SetDataFlags.None">
      <summary>
            Specifies default behaviour: automatically determine the best cell type and formatting;
            first row does receive column headers; do not insert cells to open space for the DataTable.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Data.SetDataFlags.AllText">
      <summary>
            All values are stored and formatted as text, including numeric and boolean types which
            are converted to text.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Data.SetDataFlags.NoColumnHeaders">
      <summary>
            Specifies that a row with column headers will not be created from the DataTable's column names.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Data.SetDataFlags.InsertCells">
      <summary>
            Specifies that cells should be inserted to make room for the DataTable.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Data.SetDataFlags.WrapNoColumnHeaders">
      <summary>
            Specifies that a row with column headers will not be created from the DataTable's column names when
            data wraps to a new worksheet.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Data.SetDataFlags.WrapToNewWorksheet">
      <summary>
            Specifies that data will wrap to a new worksheet if it does not fit on the current
            worksheet; column headers will be placed at the top of this new worksheet unless 
            <strong>SetDataFlags.WrapNoColumnHeaders</strong> is specified.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Data.SetDataFlags.WrapToNewWorksheet64K">
      <summary>
            Specifies that data will wrap to a new worksheet if it does not fit in the first 65536
            rows of the current worksheet; column headers will be placed at the top of this new worksheet unless 
            <strong>SetDataFlags.WrapNoColumnHeaders</strong> is specified.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.AutoShapeType">
      <summary>
            Specifies the type of an auto-shape.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.AutoShapeType" />
    </member>
    <member name="T:SpreadsheetGear.Shapes.FillType">
      <summary>
            Specifies the fill type of a shape.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IFillFormat.Type" />
    </member>
    <member name="F:SpreadsheetGear.Shapes.FillType.Gradient">
      <summary>
            Specifies a gradient fill.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FillType.Mixed">
      <summary>
            Specifies a mixed fill.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FillType.Patterned">
      <summary>
            Specifies a pattern fill.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FillType.Picture">
      <summary>
            Specifies a picture fill.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FillType.Solid">
      <summary>
            Specifies a solid color fill.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FillType.Textured">
      <summary>
            Specifies a textured fill.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.FormControlType">
      <summary>
            Specifies the type of a form control.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.FormControlType" />
    </member>
    <member name="F:SpreadsheetGear.Shapes.FormControlType.None">
      <summary>
            Specifies that the shape does not represent a form control.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FormControlType.ButtonControl">
      <summary>
            Specifies that the shape represents a button.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FormControlType.CheckBox">
      <summary>
            Specifies that the shape represents a check box.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FormControlType.DropDown">
      <summary>
            Specifies that the shape represents a drop down list box.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FormControlType.EditBox">
      <summary>
            Specifies that the shape represents an edit box .
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FormControlType.GroupBox">
      <summary>
            Specifies that the shape represents a group box.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FormControlType.Label">
      <summary>
            Specifies that the shape represents a label.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FormControlType.ListBox">
      <summary>
            Specifies that the shape represents a list box.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FormControlType.OptionButton">
      <summary>
            Specifies that the shape represents an option button.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FormControlType.ScrollBar">
      <summary>
            Specifies that the shape represents a scroll bar.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.FormControlType.Spinner">
      <summary>
            Specifies that the shape represents a spinner control.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.GradientColorType">
      <summary>
            Specifies the type of a gradient fill.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IFillFormat.GradientColorType" />
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientColorType.Mixed">
      <summary>
            Specifies mixed or undefined gradient color types.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientColorType.OneColor">
      <summary>
            Specifies a one-color gradient.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientColorType.TwoColors">
      <summary>
            Specifies a two-color gradient.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientColorType.PresetColors">
      <summary>
            Specifies a preset gradient.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientColorType.MultiColor">
      <summary>
            Specifies a multi-color gradient (three or more colors).
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.ControlFormatValues">
      <summary>
            Specifies special values for the <strong>IControlFormat.Value</strong> property.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.ControlFormatValues.CheckBoxFalse">
      <summary>
            Specifies that a checkbox has is unchecked; setting a checkbox to this value
            will place FALSE in any linked cell.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.ControlFormatValues.CheckBoxTrue">
      <summary>
            Specifies that a checkbox has is checked; setting a checkbox to this value
            will place TRUE in any linked cell.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.ControlFormatValues.CheckBoxNA">
      <summary>
            Specifies that a checkbox has an undefined state; setting a checkbox to this value
            will place #N/A! in any linked cell.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.ControlFormatValues.ListIndexNone">
      <summary>
            Specifies that a dropdown or listbox does not have a selected item.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.LineDashStyle">
      <summary>
            Specifies the dash style of a line.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.PictureColorType">
      <summary>
            Specifies the color type to use when rendering a picture.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.PictureColorType.Automatic">
      <summary>
            Specifies that the picture will be rendered with the default color type.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.PictureColorType.BlackAndWhite">
      <summary>
            Specifies that the picture will be rendered in black and white.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.PictureColorType.Grayscale">
      <summary>
            Specifies that the picture will be rendered as shades of gray.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.PictureColorType.Mixed">
      <summary>
            Specifies that the picture will be rendered as a mixed color type.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.PictureColorType.Watermark">
      <summary>
            Specifies that the picture will be rendered as a watermark.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.Placement">
      <summary>
            Specifies how changes to a worksheet will affect the placement of a shape.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.IShape.Placement" />
      <seealso cref="P:SpreadsheetGear.Shapes.IShapeRange.Placement" />
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="F:SpreadsheetGear.Shapes.Placement.FreeFloating">
      <summary>
            Shapes are not moved or sized with the cells.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.Placement.Move">
      <summary>
            Shapes are moved with cells, but size is maintained.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.Placement.MoveAndSize">
      <summary>
            Shapes are moved and sized with cells.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.ScaleFrom">
      <summary>
            Specifies how the <strong>ScaleWidth</strong> and <strong>ScaleHeight</strong> 
            methods should scale shapes.
            </summary>
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.ScaleWidth(System.Double,System.Boolean,SpreadsheetGear.Shapes.ScaleFrom)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShape.ScaleHeight(System.Double,System.Boolean,SpreadsheetGear.Shapes.ScaleFrom)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.ScaleWidth(System.Double,System.Boolean,SpreadsheetGear.Shapes.ScaleFrom)" />
      <seealso cref="M:SpreadsheetGear.Shapes.IShapeRange.ScaleHeight(System.Double,System.Boolean,SpreadsheetGear.Shapes.ScaleFrom)" />
    </member>
    <member name="F:SpreadsheetGear.Shapes.ScaleFrom.TopLeft">
      <summary>
            Applies the scaling factor from the top-left of a shape.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.ScaleFrom.Middle">
      <summary>
            Applies the scaling factor from the middle of a shape.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.ScaleFrom.BottomRight">
      <summary>
            Applies the scaling factor from the bottom-right of a shape.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.ShapeType">
      <summary>
            Specifies the type of a shape.
            </summary>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="T:SpreadsheetGear.Shapes.TextOrientation">
      <summary>
            Specifies the text orientation of a shape.
            </summary>
      <seealso cref="P:SpreadsheetGear.Shapes.ITextFrame.Orientation" />
    </member>
    <member name="T:SpreadsheetGear.Themes.ColorSchemeIndex">
      <summary>
            Specifies a color scheme index for getting and setting theme colors on fonts and fills as well as 
            accessing theme colors with <strong>ITheme.ColorScheme[ColorSchemeIndex index]</strong>.
            </summary>
      <remarks>
            The Excel 2007 API sometimes incorrectly swaps Dark1 and Light1 as well as Dark2 and 
            Light2. The SpreadsheetGear API correctly treates Dark1 as "Text 1", Light1
            as "Background 1", Dark2 as "Text 2" and Light2 as "Background 2".
            </remarks>
      <seealso cref="P:SpreadsheetGear.IFont.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IInterior.PatternThemeColor" />
      <seealso cref="P:SpreadsheetGear.IBorder.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.IBorders.ThemeColor" />
      <seealso cref="P:SpreadsheetGear.Themes.ITheme.ColorScheme" />
      <seealso cref="T:SpreadsheetGear.Themes.IColorScheme" />
      <seealso cref="T:SpreadsheetGear.Themes.IColor" />
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.None">
      <summary>
            Specifies that the represented color is not a theme color.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.Text1">
      <summary>
            Specifies the "Text 1" theme color which is also referred to as "Dark1" and defaults to 
            <strong>System.Drawing.SystemColors.WindowText</strong> in the default "Office" color scheme.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.Background1">
      <summary>
            Specifies the "Background 1" theme color which is also referred to as "Light1" and defaults to 
            <strong>System.Drawing.SystemColors.Window</strong> in the default "Office" color scheme.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.Text2">
      <summary>
            Specifies the "Text 2" theme color which is also referred to as "Dark2" 
            and defaults to dark blue in the default "Office" color scheme.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.Background2">
      <summary>
            Specifies the "Background 2" theme color which is also referred to as "Light2" 
            and defaults to tan in the default "Office" color scheme.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.Accent1">
      <summary>
            Specifies the "Accent1" theme color which defaults to pale blue in the default "Office" color scheme.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.Accent2">
      <summary>
            Specifies the "Accent2" theme color which defaults to pale red in the default "Office" color scheme.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.Accent3">
      <summary>
            Specifies the "Accent3" theme color which defaults to pale olive green in the default "Office" color scheme.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.Accent4">
      <summary>
            Specifies the "Accent4" theme color which defaults to pale purple in the default "Office" color scheme.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.Accent5">
      <summary>
            Specifies the "Accent5" theme color which defaults to pale aqua in the default "Office" color scheme.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.Accent6">
      <summary>
            Specifies the "Accent6" theme color which defaults to pale orange in the default "Office" color scheme.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.Hyperlink">
      <summary>
            Specifies the "Hyperlink" theme color.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ColorSchemeIndex.FollowedHyperlink">
      <summary>
            Specifies the "FollowedHyperlink" theme color.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Themes.ThemeFont">
      <summary>
            Specifies a font theme.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Themes.ThemeFont.None">
      <summary>
            Specifies that 
            </summary>
    </member>
    <member name="T:SpreadsheetGear.AutoFilterDateTimeGrouping">
      <summary>
            Specifies whether autofilter date / time grouping filters should be grouped by year, month, day, hour, minute or second.
            </summary>
      <seealso cref="T:SpreadsheetGear.AutoFilterDateTimeGroupItem" />
      <seealso cref="M:SpreadsheetGear.IRange.AutoFilter(System.Int32,System.Object,SpreadsheetGear.AutoFilterOperator,System.Object,System.Boolean)" />
    </member>
    <member name="T:SpreadsheetGear.AutoFilterDateTimeGroupItem">
      <summary>
            Represents a year, month, day, hour, minute or second to show in an autofiltered worksheet.
            </summary>
      <seealso cref="T:SpreadsheetGear.AutoFilterDateTimeGrouping" />
      <seealso cref="M:SpreadsheetGear.IRange.AutoFilter(System.Int32,System.Object,SpreadsheetGear.AutoFilterOperator,System.Object,System.Boolean)" />
    </member>
    <member name="M:SpreadsheetGear.AutoFilterDateTimeGroupItem.#ctor(SpreadsheetGear.AutoFilterDateTimeGrouping,System.DateTime)">
      <summary>
            Initializes an AutoFilterDateTimeGroupItem with the specified grouping and date / time.
            </summary>
      <param name="dateTimeGrouping">Specifies whether this item should filter by year, month, day, hour, minute or second.</param>
      <param name="dateTime">Specifies the date / time for this item.</param>
    </member>
    <member name="P:SpreadsheetGear.AutoFilterDateTimeGroupItem.DateTimeGrouping">
      <summary>
            Returns the grouping for this item.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.AutoFilterDateTimeGroupItem.DateTime">
      <summary>
            Returns the date / time for this item.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.BordersIndex">
      <summary>
            Used as an index to <strong>IBorders</strong> to specify a border for a cell or
            range.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.BordersIndex.DiagonalDown">
      <summary>Specifies the diagonal border running from top-left to bottom-right.</summary>
    </member>
    <member name="F:SpreadsheetGear.BordersIndex.DiagonalUp">
      <summary>Specifies the diagonal border running from bottom-left to top-right.</summary>
    </member>
    <member name="F:SpreadsheetGear.BordersIndex.EdgeBottom">
      <summary>Specifies the bottom border.</summary>
    </member>
    <member name="F:SpreadsheetGear.BordersIndex.EdgeLeft">
      <summary>Specifies the left border.</summary>
    </member>
    <member name="F:SpreadsheetGear.BordersIndex.EdgeRight">
      <summary>Specifies the right border.</summary>
    </member>
    <member name="F:SpreadsheetGear.BordersIndex.EdgeTop">
      <summary>Specifies the top border.</summary>
    </member>
    <member name="F:SpreadsheetGear.BordersIndex.InsideHorizontal">
      <summary>
            Specifies the horizontal border between rows in ranges of more than one
            row.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.BordersIndex.InsideVertical">
      <summary>
            Specifies the vertical border between columns in ranges of more than one
            column.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.BorderWeight">
      <summary>Specifies the weight (thickness) of a border.</summary>
    </member>
    <member name="F:SpreadsheetGear.BorderWeight.Hairline">
      <summary>Specifies a very thin border (generally 1/4 of a point when possible).</summary>
    </member>
    <member name="F:SpreadsheetGear.BorderWeight.Thin">
      <summary>Specifies a border which is typically one point (one screen pixel).</summary>
    </member>
    <member name="F:SpreadsheetGear.BorderWeight.Medium">
      <summary>Specifies a border which is typically two points (two screen pixels).</summary>
    </member>
    <member name="F:SpreadsheetGear.BorderWeight.Thick">
      <summary>Specifies a border which is typically three points (three screen pixels).</summary>
    </member>
    <member name="T:SpreadsheetGear.Calculation">
      <summary>Specifies whether a workbook set is calculated automatically.</summary>
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.Calculation">IWorkbookSet.Calculation</seealso>
    </member>
    <member name="F:SpreadsheetGear.Calculation.Manual">
      <summary>Specifies that workbook sets are not calculated automatically.</summary>
    </member>
    <member name="F:SpreadsheetGear.Calculation.Automatic">
      <summary>Specifies that workbook sets are calculated automatically.</summary>
    </member>
    <member name="F:SpreadsheetGear.Calculation.SemiAutomatic">
      <summary>
            Specifies that workbook sets are calculated automatically except for
            tables.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Color">
      <summary>
            Represents a Color in the SpreadsheetGear API.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.ColorIndex">
      <summary>
            ColorIndex provides special constants which specify that a color should be
            <strong>Automatic</strong> or <strong>None</strong> (transparent).
            </summary>
      <seealso cref="T:SpreadsheetGear.IColors">IColors</seealso>
      <remarks>
            Colors may be specified as indexes into a color palette.
            <strong>ColorIndex.Automatic</strong> and <strong>ColorIndex.None</strong> are special
            values which may be supplied in place of a normal color index.
            </remarks>
    </member>
    <member name="F:SpreadsheetGear.ColorIndex.Automatic">
      <summary>
            Specifies that the color is determined automatically.
            </summary>
      <remarks>
            In most cases the automatic color for text or an object is obtained from the
            current system colors. Typically this is the default window text color for text and lines or
            the default window color to fill a background.
            </remarks>
    </member>
    <member name="F:SpreadsheetGear.ColorIndex.None">
      <summary>
            Specifies no color (transparent).
            </summary>
      <remarks>
            Setting the color of an object to <strong>None</strong> will cause the object to
            be transparent.
            </remarks>
    </member>
    <member name="T:SpreadsheetGear.CustomFunctions.Function">
      <summary>
            Override this class to implement a SpreadsheetGear custom function.
            </summary>
      <remarks>
        <para>
          <see cref="M:SpreadsheetGear.CustomFunctions.Function.Evaluate(SpreadsheetGear.CustomFunctions.IArguments,SpreadsheetGear.CustomFunctions.IValue)" /> must not use any API involving the workbook set
                    containing the instance of the custom function being evaluated. However, custom
                    functions may use one or more separate workbook sets without limitation.
                </para>
        <para>
                    Create a default custom function by specifying "*" as the name parameter to
                    <see cref="M:SpreadsheetGear.CustomFunctions.Function.#ctor(System.String,SpreadsheetGear.CustomFunctions.Volatility,SpreadsheetGear.CustomFunctions.ValueType)" />. Use
                    <see cref="P:SpreadsheetGear.CustomFunctions.IArguments.CurrentFunctionName" /> to retrieve the name of the
                    function being evaluated.
                </para>
      </remarks>
      <example>
        <code lang="CS">
            class Program
            {
                // Demonstrate the use of custom functions in SpreadsheetGear.
                static void Main()
                {
                    // Create a new empty workbook.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Add the custom functions to the workbook set.
                    workbook.WorkbookSet.Add(MyAdd.MyAddSingleton);
                    workbook.WorkbookSet.Add(MySum.MySumSingleton);
                    // Get Sheet1 and its cells.
                    SpreadsheetGear.IWorksheet sheet1 = workbook.Worksheets[0];
                    SpreadsheetGear.IRange cells = sheet1.Cells;
                    // Assign values and formulas to cells.
                    cells["A1"].Value = 1.1;
                    cells["B1"].Value = 1.2;
                    cells["C1"].Formula = "=MYADD(A1,B1)";
                    cells["A2"].Value = 2.1;
                    cells["B2"].Value = 2.2;
                    cells["C2"].Formula = "=MYADD(A2,B2)";
                    cells["C3"].Formula = "=MYSUM(C1:C2)";
                    // Output the result of the custom functions.
                    System.Console.WriteLine("1.1+1.2+2.1+2.2={0}", cells["C3"].Text);
                }
             
                // A simple addition custom function.
                public class MyAdd : SpreadsheetGear.CustomFunctions.Function
                {
                    // Set to the one and only instance of MyAdd.
                    public static readonly MyAdd MyAddSingleton = new MyAdd();
             
                    // Add two numbers.
                    public override void Evaluate(
                        SpreadsheetGear.CustomFunctions.IArguments arguments,
                        SpreadsheetGear.CustomFunctions.IValue result)
                    {
                        // Verify that there are two arguments.
                        if (arguments.Count == 2)
                            // Get the two arguments as numbers, and add them.
                            result.Number = arguments.GetNumber(0) + arguments.GetNumber(1);
                        else
                            // Return ValueError.Value.
                            result.Error = SpreadsheetGear.ValueError.Value;
                    }
             
                    // Singleton class - so make the constructor private.
                    private MyAdd()
                        : base(
                        // The name of the custom function.
                        "MYADD",
                        // For a given set of inputs, this function always returns the same value.
                        SpreadsheetGear.CustomFunctions.Volatility.Invariant,
                        // This function returns a number.
                        SpreadsheetGear.CustomFunctions.ValueType.Number)
                    {
                    }
                }
             
                // A custom function which sums any number of simple or complex values.
                public class MySum : SpreadsheetGear.CustomFunctions.Function
                {
                    // Set to the one and only instance of MySum.
                    public static readonly MySum MySumSingleton = new MySum();
             
                    // Sums any number of values or ranges.
                    public override void Evaluate(
                        SpreadsheetGear.CustomFunctions.IArguments arguments,
                        SpreadsheetGear.CustomFunctions.IValue result)
                    {
                        // Initialize the sum to 0.
                        double sum = 0.0;
                        // for each argument.
                        for (int i = 0; i &lt; arguments.Count; i++)
                        {
                            int rows;
                            int cols;
                            // Get the dimensions (returns 1x1 for simple values).
                            arguments.GetArrayDimensions(i, out rows, out cols);
                            // for each row.
                            for (int row = 0; row &lt; rows; row++)
                            {
                                // for each column.
                                for (int col = 0; col &lt; cols; col++)
                                {
                                    // Get the value.
                                    SpreadsheetGear.CustomFunctions.IValue val = arguments.GetArrayValue(i, row, col);
                                    // Is it a number?
                                    if (val.IsNumber)
                                        // Add it to the sum.
                                        sum += val.Number;
                                        // Is it an error?
                                    else if (val.IsError)
                                    {
                                        // Return an error immediately.
                                        result.Error = val.Error;
                                        return;
                                    }
                                }
                            }
                        }
                        // Return the sum.
                        result.Number = sum;
                    }
             
                    // Singleton class - so make the constructor private.
                    private MySum()
                        // The name of the custom function.
                        : base("MYSUM",
                        // For a given set of inputs, this function always returns the same value.
                        SpreadsheetGear.CustomFunctions.Volatility.Invariant,
                        // This function returns a number.
                        SpreadsheetGear.CustomFunctions.ValueType.Number)
                    {
                    }
                }
            }
                </code>
        <code lang="VB">
            Class Program
                ' Demonstrate the use of custom functions in SpreadsheetGear.
                Shared Sub Main()
                    ' Create a new empty workbook.
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    ' Add the custom functions to the workbook set.
                    workbook.WorkbookSet.Add(MyAdd.MyAddSingleton)
                    workbook.WorkbookSet.Add(MySum.MySumSingleton)
                    ' Get Sheet1 and its cells.
                    Dim sheet1 As SpreadsheetGear.IWorksheet = workbook.Worksheets(0)
                    Dim cells As SpreadsheetGear.IRange = sheet1.Cells
                    ' Assign values and formulas to cells.
                    cells("A1").Value = 1.1
                    cells("B1").Value = 1.2
                    cells("C1").Formula = "=MYADD(A1,B1)"
                    cells("A2").Value = 2.1
                    cells("B2").Value = 2.2
                    cells("C2").Formula = "=MYADD(A2,B2)"
                    cells("C3").Formula = "=MYSUM(C1:C2)"
                    ' Output the result of the custom functions.
                    System.Console.WriteLine("1.1+1.2+2.1+2.2={0}", cells("C3").Text)
                End Sub 'Main
             
                ' A simple addition custom function.
                Public Class MyAdd
                    Inherits SpreadsheetGear.CustomFunctions.Function
                    ' Set to the one and only instance of MyAdd.
                    Public Shared MyAddSingleton As New MyAdd
                    ' Add two numbers.
                    Public Overrides Sub Evaluate(ByVal arguments As SpreadsheetGear.CustomFunctions.IArguments, ByVal result As SpreadsheetGear.CustomFunctions.IValue)
                        ' Verify that there are two arguments.
                        If arguments.Count = 2 Then
                            ' Get the two arguments as numbers, and add them.
                            result.Number = arguments.GetNumber(0) + arguments.GetNumber(1)
                        Else
                            ' Return ValueError.Value.
                            result.Error = SpreadsheetGear.ValueError.Value
                        End If
                    End Sub 'Evaluate
             
                    ' Singleton class - so make the constructor private.
                    Private Sub New()
                        ' The name of the custom function.
                        MyBase.New("MYADD", SpreadsheetGear.CustomFunctions.Volatility.Invariant, SpreadsheetGear.CustomFunctions.ValueType.Number)
                    End Sub 'New
                End Class 'MyAdd
             
                ' A custom function which sums any number of simple or complex values.
                Public Class MySum
                    Inherits SpreadsheetGear.CustomFunctions.Function
                    ' Set to the one and only instance of MySum.
                    Public Shared MySumSingleton As New MySum
             
             
                    ' Sums any number of values or ranges.
                    Public Overrides Sub Evaluate(ByVal arguments As SpreadsheetGear.CustomFunctions.IArguments, ByVal result As SpreadsheetGear.CustomFunctions.IValue)
                        ' Initialize the sum to 0.
                        Dim sum As Double = 0.0
                        ' for each argument.
                        Dim i As Integer
                        For i = 0 To arguments.Count - 1
                            Dim rows As Integer
                            Dim cols As Integer
                            ' Get the dimensions (returns 1x1 for simple values).
                            arguments.GetArrayDimensions(i, rows, cols)
                            ' for each row.
                            Dim row As Integer
                            For row = 0 To rows - 1
                                ' for each column.
                                Dim col As Integer
                                For col = 0 To cols - 1
                                    ' Get the value.
                                    Dim val As SpreadsheetGear.CustomFunctions.IValue = arguments.GetArrayValue(i, row, col)
                                    ' Is it a number?
                                    If val.IsNumber Then
                                        ' Add it to the sum.
                                        sum += val.Number
                                        ' Is it an error?
                                    Else
                                        If val.IsError Then
                                            ' Return an error immediately.
                                            result.Error = val.Error
                                            Return
                                        End If
                                    End If
                                Next col
                            Next row
                        Next i
                        ' Return the sum.
                        result.Number = sum
                    End Sub 'Evaluate
             
                    ' Singleton class - so make the constructor private.
                    Private Sub New()
                        ' The name of the custom function.
                        MyBase.New("MYSUM", SpreadsheetGear.CustomFunctions.Volatility.Invariant, SpreadsheetGear.CustomFunctions.ValueType.Number)
                    End Sub
                End Class 'MySum
            End Class 'Program
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.Function.#ctor(System.String,SpreadsheetGear.CustomFunctions.Volatility,SpreadsheetGear.CustomFunctions.ValueType)">
      <summary>
            Initializes an instance of a custom function.
            </summary>
      <remarks>
        <para>
          <paramref name="name">
          </paramref> is converted to upper case before storing.
                </para>
        <para>
                    Create a default custom function by specifying "*" for
                    <paramref name="name"></paramref>. This default custom function will be used
                    for any function which is undefined.
                </para>
      </remarks>
      <param name="name">
            The name of the custom function or "*" to specify the default custom
            function.
            </param>
      <param name="volatility">The volatility of the function.</param>
      <param name="returnType">
            Specifies the return type for the custom function, or
            <strong>ValueType.Variant</strong> for a variable return type.
            </param>
    </member>
    <member name="M:SpreadsheetGear.CustomFunctions.Function.Evaluate(SpreadsheetGear.CustomFunctions.IArguments,SpreadsheetGear.CustomFunctions.IValue)">
      <summary>
            Evaluates a custom function with the specified arguments. See the 
            remarks in the help for this method for a number of rules which must be taken into
            account.
            </summary>
      <remarks>
        <para>The implementation of this method must follow a number of rules:</para>
        <list type="bullet">
          <item>The method must be thread safe. Some versions of SpreadsheetGear
                    call this method from multiple threads at the same time.</item>
          <item>The method must not use any API in the workbook set which is being
                    calculated except for <strong>IArguments.CurrentWorksheet.Name</strong>,
                    <strong>IArguments.CurrentWorksheet.Index</strong> or
                    <strong>IArguments.CurrentWorksheet.Workbook.Name</strong>.</item>
          <item>All access to cells must be through <strong>arguments</strong>.</item>
          <item>
                        Accessing the <strong>IArguments</strong> indexer has the side effect of
                        converting references to ranges or arrays to a single simple value. Use
                        <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayDimensions(System.Int32,System.Int32@,System.Int32@)" /> and <see cref="M:SpreadsheetGear.CustomFunctions.IArguments.GetArrayValue(System.Int32,System.Int32,System.Int32)" />
                        to access the individual values of a range or array. For example, if the
                        first custom function argument is the range A1:C3, setting a watch on
                        arguments[0] in a debugger will convert this range to a single simple
                        value.
                    </item>
          <item>No references to interfaces or objects passed to, or acquired during the
                    execution of this method should be used after this method completes
                    execution.</item>
        </list>
        <para>If an exception is thrown during custom function evaluation, the custom
                function will return <strong>ValueError.Name</strong>.</para>
      </remarks>
      <param name="arguments">
            Provides access to the arguments to this custom function. Note that using the
            <strong>IArguments</strong> indexer has the side effect of converting a range reference
            or array to a simple value (use <strong>GetArrayDimensions</strong> and
            <strong>GetArrayValue</strong> to get individual values from a range or array).
            </param>
      <param name="result">
            Assign the result of the custom function to <strong>result</strong>. The value of
            <strong>result</strong> is undefined until set by the <strong>Evaluate</strong>
            method.
            </param>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.Function.ReturnType">
      <summary>Indicates the return type of the custom function.</summary>
      <remarks>
            A return type of <strong>ValueType.Variant</strong> specifies that the
            return type is variable.
            </remarks>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.Function.Volatility">
      <summary>
        <para>Indicates the volatility of the custom function.</para>
      </summary>
    </member>
    <member name="P:SpreadsheetGear.CustomFunctions.Function.Name">
      <summary>
            Returns the name of the custom function.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.CustomFunctions.ValueType">
      <summary>
            Specifies the type of a value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.CustomFunctions.ValueType.Variant">
      <summary>Specifies that the type returned by a custom function is variable.</summary>
    </member>
    <member name="F:SpreadsheetGear.CustomFunctions.ValueType.Empty">
      <summary>Specifies an empty value.</summary>
    </member>
    <member name="F:SpreadsheetGear.CustomFunctions.ValueType.Number">
      <summary>
            Specifies a double precision floating point number.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.CustomFunctions.ValueType.Text">
      <summary>
            Specifies text.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.CustomFunctions.ValueType.Logical">
      <summary>
            Specifies a logical (boolean) value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.CustomFunctions.ValueType.Error">
      <summary>
            Specifies an error.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.CustomFunctions.Volatility">
      <summary>
            Specifies the volatility of a custom function.
            </summary>
      <remarks>
            An example of <strong>VolatileEveryRecalc</strong> might be a custom function
            which returns a stock price. There is no guarantee that a
            <strong>VolatileEveryRecalc</strong> custom function will only be called once per
            recalc.
            </remarks>
    </member>
    <member name="F:SpreadsheetGear.CustomFunctions.Volatility.Invariant">
      <summary>
            Specifies that a function always returns the same result for a given set of arguments.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.CustomFunctions.Volatility.VolatileEveryRecalc">
      <summary>
            Specifies a volatile function which must be recalculated at least once every time
            the workbook set is recalculated or different arguments are passed to it.
            </summary>
      <remarks>
            An example of a <strong>VolatileEveryRecalc</strong> function would be a function which returns the
            current date. Such a function should be recalculated each time a workbook set is recalculated, however,
            multiple instances of the function with the same arguments may just be calculated once during the calculation
            of a workbook set. All cells containing volatile functions are marked as needing to be recalculated when any
            data is changed in a workbook set.
            </remarks>
    </member>
    <member name="F:SpreadsheetGear.CustomFunctions.Volatility.VolatileEveryInstance">
      <summary>
            Specifies a volatile function which must be recalculated for every instance.
            </summary>
      <remarks>
            An example of a <strong>VolatileEveryInstance</strong> function would be a random number generator, which should
            return a unique random number for every instance in every formula. Also, all cells containing
            volatile functions are marked as needing to be recalculated when any data is changed in
            a workbook set.
            </remarks>
    </member>
    <member name="T:SpreadsheetGear.Data.GetDataFlags">
      <summary>
            Specifies options for the <see cref="M:SpreadsheetGear.IRange.GetDataTable(SpreadsheetGear.Data.GetDataFlags)" /> method.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.GetDataTable(SpreadsheetGear.Data.GetDataFlags)" />
      <seealso cref="M:SpreadsheetGear.IRange.CopyFromDataTable(System.Data.DataTable,SpreadsheetGear.Data.SetDataFlags)" />
      <seealso cref="T:SpreadsheetGear.Data.SetDataFlags" />
    </member>
    <member name="F:SpreadsheetGear.Data.GetDataFlags.None">
      <summary>
            Specifies default behaviour; not formatted text, first row does contain column headers,
            set column types from type of data in first row.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Data.GetDataFlags.FormattedText">
      <summary>
            Return formatted text for all values instead of the raw floating point, 
            logical, text and error values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Data.GetDataFlags.NoColumnHeaders">
      <summary>
            Specifies that the first row should not be treated as column headers (column names).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Data.GetDataFlags.NoColumnTypes">
      <summary>
            Specifies that column types will not be set based on the data types
            of the first row of data; 
            </summary>
      <remarks>
            This flag is ignored if FormattedText is set.
            </remarks>
    </member>
    <member name="T:SpreadsheetGear.Colors">
      <summary>
            Contains a set of predefined colors.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.DefaultSystemColors">
      <summary>
            Contains a set of default system colors.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.DeleteShiftDirection">
      <summary>
            Specifies whether to shift cells left or up to replace deleted cells.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.DeleteShiftDirection.Left">
      <summary>
            Specifies that cells should be shifted left to replace deleted cells.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.DeleteShiftDirection.Up">
      <summary>
            Specifies that cells should be shifted up to replace deleted cells.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.DisplayDrawingObjects">
      <summary>Specifies whether drawing objects are displayed on worksheets.</summary>
    </member>
    <member name="F:SpreadsheetGear.DisplayDrawingObjects.DisplayShapes">
      <summary>Specifies that shapes will be displayed.</summary>
    </member>
    <member name="F:SpreadsheetGear.DisplayDrawingObjects.Hide">
      <summary>Specifies that shapes will not be displayed.</summary>
    </member>
    <member name="F:SpreadsheetGear.DisplayDrawingObjects.Placeholders">
      <summary>Specifies that placeholders will be displayed for shapes.</summary>
    </member>
    <member name="T:SpreadsheetGear.Factory">
      <summary>
                The Factory class provides static methods for creating instances of
                <see cref="T:SpreadsheetGear.IWorkbookSet" /> and <see cref="T:SpreadsheetGear.IWorkbook" />.
            </summary>
      <remarks>All static methods in Factory are thread safe.</remarks>
      <seealso cref="T:SpreadsheetGear.IWorkbookSet">IWorkbookSet</seealso>
      <seealso cref="T:SpreadsheetGear.IWorkbook">IWorkbook</seealso>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main(string[] args)
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Get a reference to the first worksheet.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    // Get a reference to the top left cell of Sheet1.
                    SpreadsheetGear.IRange a1 = worksheet.Cells["A1"];
                    // Set a formula.
                    a1.Formula = "=24901.55 / PI()";
                    // Output the result of the formula.
                    System.Console.WriteLine("The diameter of the earth is " + a1.Value.ToString() + " miles.");
                }
            }
                </code>
        <code lang="VB">
            Module Program
                Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set. 
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Get a reference to the first worksheet. 
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    ' Get a reference to the top left cell of Sheet1. 
                    Dim a1 As SpreadsheetGear.IRange = worksheet.Cells("A1")
                    ' Set a formula. 
                    a1.Formula = "=24901.55 / PI()"
                    ' Output the result of the formula. 
                    Console.WriteLine(("The diameter of the earth is " + a1.Value.ToString() + " miles."))
                End Sub
            End Module
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.Factory.CheckFramework">
      <summary>
            Checks the Microsoft .NET Framework version and throws an exception if it is not
            sufficient (currently .NET 2.0.50727.42 which was the first RTM build of .NET 2.0).
            </summary>
      <seealso cref="M:SpreadsheetGear.Factory.IsSufficientFramework" />
    </member>
    <member name="M:SpreadsheetGear.Factory.IsSufficientFramework">
      <summary>
            Returns true of the Microsoft .NET Framework version is sufficient (currently .NET 2.0.50727.42 which was the first RTM build of .NET 2.0), or false if the .NET Framework is not sufficient.
            </summary>
      <returns>
            true of the Microsoft .NET Framework version is sufficient (currently .NET 2.0.50727.42 which was the first RTM build of .NET 2.0), or false if the .NET Framework is not sufficient.
            </returns>
      <seealso cref="M:SpreadsheetGear.Factory.CheckFramework" />
    </member>
    <member name="M:SpreadsheetGear.Factory.GetWorkbook">
      <summary>
                Creates an instance of <see cref="T:SpreadsheetGear.IWorkbook" /> in a new instance of
                <see cref="T:SpreadsheetGear.IWorkbookSet" />.
            </summary>
      <remarks>
        <para>This method is thread safe.</para>
        <para>The workbook set containing the new workbook will use the US English
                <strong>CultureInfo</strong>. To create a workbook in a workbook set with a
            specific culture, use <see cref="M:SpreadsheetGear.Factory.GetWorkbook(System.Globalization.CultureInfo)" />.</para>
      </remarks>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main(string[] args)
                {
                    // Create a new empty workbook in a new workbook set.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Get a reference to the first worksheet.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    // Get a reference to the top left cell of Sheet1.
                    SpreadsheetGear.IRange a1 = worksheet.Cells["A1"];
                    // Set a formula.
                    a1.Formula = "=24901.55 / PI()";
                    // Output the result of the formula.
                    System.Console.WriteLine("The diameter of the earth is " + a1.Value.ToString() + " miles.");
                }
            }
                </code>
        <code lang="VB">
            Module Program
                Sub Main()
                    ' Create a new empty workbook in a new workbook set. 
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    ' Get a reference to the first worksheet. 
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    ' Get a reference to the top left cell of Sheet1. 
                    Dim a1 As SpreadsheetGear.IRange = worksheet.Cells("A1")
                    ' Set a formula.
                    a1.Formula = "=24901.55 / PI()"
                    ' Output the result of the formula. 
                    Console.WriteLine(("The diameter of the earth is " + a1.Value.ToString() + " miles."))
                End Sub
            End Module
                </code>
      </example>
      <seealso cref="T:SpreadsheetGear.IWorkbookSet">IWorkbookSet</seealso>
      <seealso cref="T:SpreadsheetGear.IWorkbook">IWorkbook</seealso>
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.String)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.String,System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet(System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[],System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream,System.String)" />
      <returns>
                A new instance of <see cref="T:SpreadsheetGear.IWorkbook" /> in a new instance of
                <see cref="T:SpreadsheetGear.IWorkbookSet" />.
            </returns>
    </member>
    <member name="M:SpreadsheetGear.Factory.GetWorkbook(System.Globalization.CultureInfo)">
      <summary>
                Creates an instance of <see cref="T:SpreadsheetGear.IWorkbook" /> in a new instance of
                <see cref="T:SpreadsheetGear.IWorkbookSet" /> which uses the specified
                <strong>CultureInfo</strong>.
            </summary>
      <remarks>
        <para>This method is thread safe.</para>
      </remarks>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main(string[] args)
                {
                    // Create a new empty workbook in a new workbook set using the current culture.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(System.Globalization.CultureInfo.CurrentCulture);
                    // Get a reference to the first worksheet.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    // Get a reference to the top left cell of Sheet1.
                    SpreadsheetGear.IRange a1 = worksheet.Cells["A1"];
                    // Set a formula.
                    a1.Formula = "=24901.55 / PI()";
                    // Output the result of the formula.
                    System.Console.WriteLine("The diameter of the earth is " + a1.Value.ToString() + " miles.");
                }
            }
                </code>
        <code lang="VB">
            Module Program
                Sub Main()
                    ' Create a new empty workbook in a new workbook set using the current culture. 
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook(System.Globalization.CultureInfo.CurrentCulture)
                    ' Get a reference to the first worksheet. 
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    ' Get a reference to the top left cell of Sheet1. 
                    Dim a1 As SpreadsheetGear.IRange = worksheet.Cells("A1")
                    ' Set a formula. 
                    a1.Formula = "=24901.55 / PI()"
                    ' Output the result of the formula. 
                    Console.WriteLine(("The diameter of the earth is " + a1.Value.ToString() + " miles."))
                End Sub
            End Module
                </code>
      </example>
      <seealso cref="T:SpreadsheetGear.IWorkbookSet">IWorkbookSet</seealso>
      <seealso cref="T:SpreadsheetGear.IWorkbook">IWorkbook</seealso>
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.String)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.String,System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet(System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[],System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream,System.String)" />
      <returns>
                A new instance of <see cref="T:SpreadsheetGear.IWorkbook" /> in a new instance of
                <see cref="T:SpreadsheetGear.IWorkbookSet" />.
            </returns>
    </member>
    <member name="M:SpreadsheetGear.Factory.GetWorkbook(System.String)">
      <summary>
                Opens an existing workbook in a newly created instance of
                <see cref="T:SpreadsheetGear.IWorkbook" /> in a new instance of <see cref="T:SpreadsheetGear.IWorkbookSet" />.
            </summary>
      <remarks>
        <para>This method is thread safe.</para>
        <para>The workbook set containing the new workbook will use the US English
                <strong>CultureInfo</strong>. To open a workbook in a workbook set with a
            specific culture, use <see cref="M:SpreadsheetGear.Factory.GetWorkbook(System.String,System.Globalization.CultureInfo)" />.</para>
      </remarks>
      <seealso cref="T:SpreadsheetGear.IWorkbookSet">IWorkbookSet</seealso>
      <seealso cref="T:SpreadsheetGear.IWorkbook">IWorkbook</seealso>
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.String,System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet(System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[],System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream,System.String)" />
      <returns>
                A new instance of <see cref="T:SpreadsheetGear.IWorkbook" /> in a new instance of
                <see cref="T:SpreadsheetGear.IWorkbookSet" />.
            </returns>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main(string[] args)
                {
                    // Open MyData.xls.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(@"C:\MyData.xls");
                    // Get a reference to the first worksheet.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    // Get a reference to the top left cell of Sheet1.
                    SpreadsheetGear.IRange a1 = worksheet.Cells["A1"];
                    // Output the value of A1.
                    System.Console.WriteLine("[MyData.xls]Sheet1!A1 contains " + a1.Value.ToString() + ".");
                }
            }
                </code>
        <code lang="VB">
            Module Program
                Sub Main()
                    ' Open MyData.xls. 
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook("C:\\MyData.xls")
                    ' Get a reference to the first worksheet. 
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    ' Get a reference to the top left cell of Sheet1. 
                    Dim a1 As SpreadsheetGear.IRange = worksheet.Cells("A1")
                    ' Output the value of A1. 
                    Console.WriteLine(("[MyData.xls]Sheet1!A1 contains " + a1.Value.ToString() + "."))
                End Sub
            End Module
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.Factory.GetWorkbook(System.String,System.Globalization.CultureInfo)">
      <summary>
                Opens an existing workbook in a newly created instance of
                <see cref="T:SpreadsheetGear.IWorkbook" /> in a new instance of <see cref="T:SpreadsheetGear.IWorkbookSet" />
                which uses the specified <strong>CultureInfo</strong>.
            </summary>
      <remarks>
        <para>This method is thread safe.</para>
      </remarks>
      <seealso cref="T:SpreadsheetGear.IWorkbookSet">IWorkbookSet</seealso>
      <seealso cref="T:SpreadsheetGear.IWorkbook">IWorkbook</seealso>
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.String)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet(System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.Open(System.String,System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[])" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromMemory(System.Byte[],System.String)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream)" />
      <seealso cref="M:SpreadsheetGear.IWorkbooks.OpenFromStream(System.IO.Stream,System.String)" />
      <returns>
                A new instance of <see cref="T:SpreadsheetGear.IWorkbook" /> in a new instance of
                <see cref="T:SpreadsheetGear.IWorkbookSet" />.
            </returns>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main(string[] args)
                {
                    // Open MyData.xls using the current CultureInfo.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(@"C:\MyData.xls", System.Globalization.CultureInfo.CurrentCulture);
                    // Get a reference to the first worksheet.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    // Get a reference to the top left cell of Sheet1.
                    SpreadsheetGear.IRange a1 = worksheet.Cells["A1"];
                    // Output the value of A1.
                    System.Console.WriteLine("[MyData.xls]Sheet1!A1 contains " + a1.Value.ToString() + ".");
                }
            }
                </code>
        <code lang="VB">
            Module Program
                Sub Main()
                    ' Open MyData.xls using the current CultureInfo. 
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook("C:\\MyData.xls", System.Globalization.CultureInfo.CurrentCulture)
                    ' Get a reference to the first worksheet. 
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    ' Get a reference to the top left cell of Sheet1. 
                    Dim a1 As SpreadsheetGear.IRange = worksheet.Cells("A1")
                    ' Output the value of A1. 
                    Console.WriteLine(("[MyData.xls]Sheet1!A1 contains " + a1.Value.ToString() + "."))
                End Sub
            End Module
                </code>
      </example>
    </member>
    <member name="M:SpreadsheetGear.Factory.GetWorkbookSet">
      <example>
        <code lang="CS">
            class Program
            {
                static void Main(string[] args)
                {
                    // Create a new empty workbook set.
                    SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Get a reference to the first worksheet.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    // Get a reference to the top left cell of Sheet1.
                    SpreadsheetGear.IRange a1 = worksheet.Cells["A1"];
                    // Set a formula.
                    a1.Formula = "=24901.55 / PI()";
                    // Output the result of the formula.
                    System.Console.WriteLine("The diameter of the earth is " + a1.Value.ToString() + " miles.");
                }
            }
                </code>
        <code lang="VB">
            Module Program
                Sub Main()
                    ' Create a new empty workbook set.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
                    ' Create a new empty workbook in the workbook set. 
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Get a reference to the first worksheet. 
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    ' Get a reference to the top left cell of Sheet1. 
                    Dim a1 As SpreadsheetGear.IRange = worksheet.Cells("A1")
                    ' Set a formula. 
                    a1.Formula = "=24901.55 / PI()"
                    ' Output the result of the formula. 
                    Console.WriteLine(("The diameter of the earth is " + a1.Value.ToString() + " miles."))
                End Sub
            End Module
                </code>
      </example>
      <summary>Creates an instance of <see cref="T:SpreadsheetGear.IWorkbookSet" />.</summary>
      <remarks>
        <para>This method is thread safe.</para>
        <para>The workbook set will use the US English <strong>CultureInfo</strong>. To 
            create a workbook set with a specific culture, use <see cref="M:SpreadsheetGear.Factory.GetWorkbookSet(System.Globalization.CultureInfo)" />.</para>
      </remarks>
      <seealso cref="T:SpreadsheetGear.IWorkbookSet">IWorkbookSet</seealso>
      <seealso cref="T:SpreadsheetGear.IWorkbook">IWorkbook</seealso>
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.String)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.String,System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet(System.Globalization.CultureInfo)" />
      <returns>A new instance of <see cref="T:SpreadsheetGear.IWorkbookSet" />.</returns>
    </member>
    <member name="M:SpreadsheetGear.Factory.GetWorkbookSet(System.Globalization.CultureInfo)">
      <example>
        <code lang="CS">
            class Program
            {
                static void Main(string[] args)
                {
                    // Create a new empty workbook set with the current thread's culture info.
                    SpreadsheetGear.IWorkbookSet workbookSet
                        = SpreadsheetGear.Factory.GetWorkbookSet(System.Globalization.CultureInfo.CurrentCulture);
                    // Create a new empty workbook in the workbook set.
                    SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();
                    // Get a reference to the first worksheet.
                    SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
                    // Get a reference to the top left cell of Sheet1.
                    SpreadsheetGear.IRange a1 = worksheet.Cells["A1"];
                    // Set a formula.
                    a1.Formula = "=24901.55 / PI()";
                    // Output the result of the formula.
                    System.Console.WriteLine("The diameter of the earth is " + a1.Value.ToString() + " miles.");
                }
            }
                </code>
        <code lang="VB">
            Module Program
                Sub Main()
                    ' Create a new empty workbook set with the current thread's culture info.
                    Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet(System.Globalization.CultureInfo.CurrentCulture)
                    ' Create a new empty workbook in the workbook set. 
                    Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()
                    ' Get a reference to the first worksheet. 
                    Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")
                    ' Get a reference to the top left cell of Sheet1. 
                    Dim a1 As SpreadsheetGear.IRange = worksheet.Cells("A1")
                    ' Set a formula. 
                    a1.Formula = "=24901.55 / PI()"
                    ' Output the result of the formula. 
                    Console.WriteLine(("The diameter of the earth is " + a1.Value.ToString() + " miles."))
                End Sub
            End Module
                </code>
      </example>
      <summary>Creates an instance of <strong>IWorkbookSet</strong> with the specified <b>CultureInfo</b>.</summary>
      <remarks>This method is thread safe.</remarks>
      <seealso cref="T:SpreadsheetGear.IWorkbookSet">IWorkbookSet</seealso>
      <seealso cref="T:SpreadsheetGear.IWorkbook">IWorkbook</seealso>
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.String)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbookSet" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.Globalization.CultureInfo)" />
      <seealso cref="M:SpreadsheetGear.Factory.GetWorkbook(System.String,System.Globalization.CultureInfo)" />
      <seealso cref="P:SpreadsheetGear.IWorkbookSet.Culture" />
      <returns>A new instance of <strong>IWorkbookSet</strong>.</returns>
    </member>
    <member name="T:SpreadsheetGear.FileFormat">
      <summary>Specifies the file format with which to save a file.</summary>
      <example>
        <code lang="CS">
            class Program
            {
                static void Main()
                {
                    // Create a new empty workbook in a new workbook set.
                    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
                    // Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets["Sheet1"].Cells["A1"].Value = "Hello World!";
                    // Save to C:\MyData.xls as Excel file.
                    workbook.SaveAs(@"C:\MyData.xls", SpreadsheetGear.FileFormat.XLS97);
                    // Open C:\MyData.xls.
                    workbook = SpreadsheetGear.Factory.GetWorkbook(@"C:\MyData.xls");
                    // Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets["Sheet1"].Cells["A1"].Value.ToString());
                }
            }
                </code>
        <code lang="VB">
            Module Program
                Sub Main()
                    ' Create a new empty workbook in a new workbook set.
                    Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
                    ' Set Sheet1!A1 to "Hello World!".
                    workbook.Worksheets("Sheet1").Cells("A1").Value = "Hello World!"
                    ' Save to C:\MyData.xls as Excel file.
                    workbook.SaveAs("C:\\MyData.xls", SpreadsheetGear.FileFormat.XLS97)
                    ' Open C:\MyData.xls.
                    workbook = SpreadsheetGear.Factory.GetWorkbook("C:\\MyData.xls")
                    ' Output Sheet1!A1.
                    System.Console.WriteLine(workbook.Worksheets("Sheet1").Cells("A1").Value.ToString())
                End Sub
            End Module
                </code>
      </example>
    </member>
    <member name="F:SpreadsheetGear.FileFormat.Excel8">
      <summary>
            Specifies the Biff 8 File format which is the default file format of Excel 97,
            Excel 2000, Excel 2002 (XP) and Excel 2003. This format is also supported by Excel
            2007. Typically saved with the .xls filename extension.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FileFormat.OpenXMLWorkbook">
      <summary>
            Specifies the Excel 2007 Open XML file format. Typically saved with the .xlsx
            filename extension.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FileFormat.XLS97">
      <summary>
            Deprecated in favor of FileFormat.Excel8 to make the SpreadsheetGear API more
            like Excel's API. Use FileFormat.Excel8 for Excel 97 through Excel 2003
            workbooks.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FileFormat.CSV">
      <summary>
            Specifies a text file of comma-separated values. Typically saved with the .csv
            filename extension.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FileFormat.UnicodeText">
      <summary>
            Specifies a tab-delimited Unicode text file encoded as UTF-8. Typically saved with the .txt
            filename extension.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FileFormat.OpenXMLWorkbookMacroEnabled">
      <summary>
            Specifies the Excel 2007 macro enabled Open XML file format. Typically saved with the .xlsm
            filename extension.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.FindLookIn">
      <summary>
            Specifies whether to search formulas or values.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Find(System.String,SpreadsheetGear.IRange,SpreadsheetGear.FindLookIn,SpreadsheetGear.LookAt,SpreadsheetGear.SearchOrder,SpreadsheetGear.SearchDirection,System.Boolean)" />
    </member>
    <member name="F:SpreadsheetGear.FindLookIn.Formulas">
      <summary>
            Specifies that formulas should be searched.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FindLookIn.Values">
      <summary>
            Specifies that values should be searched.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.FormatConditionOperator">
      <summary>
            Specifies the operator to be used by a conditional format.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FormatConditionOperator.None">
      <summary>
            No operator.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FormatConditionOperator.Between">
      <summary>
            Specifies that the cell must be between two specified values (inclusive).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FormatConditionOperator.Equal">
      <summary>
            Specifies that the cell must be equal to the specified value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FormatConditionOperator.Greater">
      <summary>
            Specifies that the cell must be greater than the specified value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FormatConditionOperator.GreaterEqual">
      <summary>
            Specifies that the cell must be greater than or equal to the specified value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FormatConditionOperator.Less">
      <summary>
            Specifies that the cell must be less than the specified value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FormatConditionOperator.LessEqual">
      <summary>
            Specifies that the cell must be less than or equal to the specified value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FormatConditionOperator.NotBetween">
      <summary>
            Specifies that the cell must not be between the two specified values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FormatConditionOperator.NotEqual">
      <summary>
            Specifies that the cell must not be equal to the specified value.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.FormatConditionType">
      <summary>
            Specifies whether a conditional format compares the values of cells of contains a formula.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FormatConditionType.CellValue">
      <summary>
            Specifies that the conditional format compares the value of the cell.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.FormatConditionType.Expression">
      <summary>
            Specifies that the conditional format contains a formula.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.HAlign">
      <summary>
            Specifies the horizontal alignment of a cell or object.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.HAlign.General">
      <summary>
            Specifies that text is left justified, numbers (including dates and times) are
            right justified, and logical values are centered.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.HAlign.Left">
      <summary>Spedifies left justification.</summary>
    </member>
    <member name="F:SpreadsheetGear.HAlign.Center">
      <summary>Spedifies that the text should be centered.</summary>
    </member>
    <member name="F:SpreadsheetGear.HAlign.Right">
      <summary>Spedifies right justification.</summary>
    </member>
    <member name="F:SpreadsheetGear.HAlign.Fill">
      <summary>Specifies that the text will be repeated to fill the cell.</summary>
    </member>
    <member name="F:SpreadsheetGear.HAlign.Justify">
      <summary>
            Specifies that text should wrap and be aligned to form straight edges on the left
            and right, except for the last line which is left justified.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.HAlign.CenterAcrossSelection">
      <summary>
            Text is centered across empty cells in the selection without merging the
            cells.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.HAlign.Distributed">
      <summary>
            Specifies that text should wrap and be aligned to form straight edges on the left
            and right, including the last line.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.InsertShiftDirection">
      <summary>
            Specifies whether to shift existing cells right or down when inserting cells.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.InsertShiftDirection.Right">
      <summary>
            Specifies that cells should be shifted right when inserting cells.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.InsertShiftDirection.Down">
      <summary>
            Specifies that cells should be shifted down when inserting cells.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.EndCalculateEventHandler">
      <summary>Represents the method which handles an <strong>EndCalculate</strong> event.</summary>
    </member>
    <member name="T:SpreadsheetGear.EndCalculateEventArgs">
      <summary>Provides data for an <strong>EndCalculate</strong> event.</summary>
    </member>
    <member name="P:SpreadsheetGear.EndCalculateEventArgs.BackgroundCalculation">
      <summary>
            Returns true if the <strong>EndCalculate</strong> event is being invoked on the background calculation thread, or false if it is being invoked on any other thread.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.LineStyle">
      <summary>
            Specifies a line style for an object.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.LineStyle.None">
      <summary>Specifies no line.</summary>
    </member>
    <member name="F:SpreadsheetGear.LineStyle.DashDotDot">
      <summary>Specifies a line with dashes and dots.</summary>
    </member>
    <member name="F:SpreadsheetGear.LineStyle.DashDot">
      <summary>Specifies a line with dashes and dots.</summary>
    </member>
    <member name="F:SpreadsheetGear.LineStyle.Dot">
      <summary>Specifies a line with dots.</summary>
    </member>
    <member name="F:SpreadsheetGear.LineStyle.Dash">
      <summary>Specifies a line with dashes.</summary>
    </member>
    <member name="F:SpreadsheetGear.LineStyle.SlantDashDot">
      <summary>Specifies a line with slanted dashes and dots.</summary>
    </member>
    <member name="F:SpreadsheetGear.LineStyle.Continuous">
      <summary>Specifies a solid line.</summary>
    </member>
    <member name="F:SpreadsheetGear.LineStyle.Continous">
      <summary>Deprecated - use <strong>Continuous</strong>.</summary>
    </member>
    <member name="F:SpreadsheetGear.LineStyle.Double">
      <summary>Specifies a double line.</summary>
    </member>
    <member name="T:SpreadsheetGear.LookAt">
      <summary>
            Specifies whether to accept a partial match or require a complete match.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Find(System.String,SpreadsheetGear.IRange,SpreadsheetGear.FindLookIn,SpreadsheetGear.LookAt,SpreadsheetGear.SearchOrder,SpreadsheetGear.SearchDirection,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IRange.Replace(System.String,System.String,SpreadsheetGear.LookAt,SpreadsheetGear.SearchOrder,System.Boolean)" />
    </member>
    <member name="F:SpreadsheetGear.LookAt.Part">
      <summary>
            Specifies that a partial match will be accepted.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.LookAt.Whole">
      <summary>
            Specifies that a complete match will be required.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.NumberFormatType">
      <summary>
                Specifies the type of a number format.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.NumberFormatType" />
      <seealso cref="P:SpreadsheetGear.IRange.NumberFormat" />
      <seealso cref="T:SpreadsheetGear.ValueType" />
    </member>
    <member name="F:SpreadsheetGear.NumberFormatType.None">
      <summary>
            Specifies no number format type (such as a number format of ";;;").
            </summary>
    </member>
    <member name="F:SpreadsheetGear.NumberFormatType.General">
      <summary>
            Specifies a general number format.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.NumberFormatType.Number">
      <summary>
            Specifies a numeric number format.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.NumberFormatType.Currency">
      <summary>
            Specifies a currency number format.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.NumberFormatType.Scientific">
      <summary>
            Specifies a scientific number format.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.NumberFormatType.Percent">
      <summary>
            Specifies a percent number format.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.NumberFormatType.Fraction">
      <summary>
            Specifies a fraction number format.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.NumberFormatType.Text">
      <summary>
            Specifies a text number format.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.NumberFormatType.Date">
      <summary>
            Specifies a date number format.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.NumberFormatType.Time">
      <summary>
            Specifies a time number format.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.NumberFormatType.DateTime">
      <summary>
            Specifies a date/time number format.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Order">
      <summary>
            Specifies the order for printing.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Order.DownThenOver">
      <summary>
            Print pages by scanning vertically and then horizontally.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Order.OverThenDown">
      <summary>
            Print pages by scanning horizontally and then vertically.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Orientation">
      <summary>
            Provides commonly used values for the <strong>SpreadsheetGear.IRange.Orientation</strong> property.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Orientation.Downward">
      <summary>
            Specifies that text should be drawn downwards.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Orientation.Horizontal">
      <summary>
            Specifies that text should be drawn normally.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Orientation.Upward">
      <summary>
            Specifies that text should be drawn upwards.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Orientation.Vertical">
      <summary>
            Specifies that text should be drawn vertically.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.PageBreak">
      <summary>
            Specifies whether a page break is automatic, manual or non-existent.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PageBreak.None">
      <summary>
            No page break.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PageBreak.Manual">
      <summary>
            Manual page break.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PageBreak.Automatic">
      <summary>
            Automatic page break.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.PageBreakExtent">
      <summary>
            Specifies the extent of a page break.
            </summary>
      <remarks>
            A full horizontal page break extends for all of the columns of a worksheet, 
            whereas a partial horizontal page break is limited to a specific range of columns
            for the given row. Likewise, a partial vertical page break is limited to a specific
            range of rows for the given column.
            </remarks>
    </member>
    <member name="F:SpreadsheetGear.PageBreakExtent.Full">
      <summary>
            Specifies that a page break is a full vertical or horizontal page break.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PageBreakExtent.Partial">
      <summary>
            Specifies that a page break is a partial vertical or horizontal page break.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.PageOrientation">
      <summary>
            Specifies whether to print in portrait or landscape mode.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PageOrientation.Landscape">
      <summary>
            Print pages in landscape mode.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PageOrientation.Portrait">
      <summary>
            Print pages in portrait mode.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.PaperSize">
      <summary>
            Specifies the size of the paper to print on.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Default">
      <summary>
            Specifies the default size of the output device.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Letter">
      <summary>
            Specifies letter size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.LetterSmall">
      <summary>
            Specifies small letter size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Tabloid">
      <summary>
            Specifies tabloid size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Ledger">
      <summary>
            Specifies ledger size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Legal">
      <summary>
            Specifies legal size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Statement">
      <summary>
            Specifies statement size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Executive">
      <summary>
            Specifies executive size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.A3">
      <summary>
            Specifies A3 size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.A4">
      <summary>
            Specifies A4 size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.A4Small">
      <summary>
            Specifies small A4 size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.A5">
      <summary>
            Specifies A5 size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.B4">
      <summary>
            Specifies B4 size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.B5">
      <summary>
            Specifies B5 size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Folio">
      <summary>
            Specifies folio size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Quarto">
      <summary>
            Specifies quarto size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.TenByFourteen">
      <summary>
            Specifies ten by fourteen inch paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.ElevenBySeventeen">
      <summary>
            Specifies eleven by seventeen inch paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Note">
      <summary>
            Specifies note size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Envelope9">
      <summary>
            Specifies #9 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Envelope10">
      <summary>
            Specifies #10 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Envelope11">
      <summary>
            Specifies #11 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Envelope12">
      <summary>
            Specifies #12 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Envelope14">
      <summary>
            Specifies #14 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Csheet">
      <summary>
            Specifies C size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Dsheet">
      <summary>
            Specifies D size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.Esheet">
      <summary>
            Specifies E size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopeDL">
      <summary>
            Specifies DL envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopeC5">
      <summary>
            Specifies C5 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopeC3">
      <summary>
            Specifies C3 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopeC4">
      <summary>
            Specifies C4 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopeC6">
      <summary>
            Specifies C6 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopeC65">
      <summary>
            Specifies C65 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopeB4">
      <summary>
            Specifies B4 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopeB5">
      <summary>
            Specifies B5 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopeB6">
      <summary>
            Specifies B6 envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopeItaly">
      <summary>
            Specifies Italian envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopeMonarch">
      <summary>
            Specifies Monarch envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.EnvelopePersonal">
      <summary>
            Specifies personal envelope.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.FanfoldUS">
      <summary>
            Specifies US fan fold size paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.FanfoldStdGerman">
      <summary>
            Specifies standard German fan fold paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.FanfoldLegalGerman">
      <summary>
            Specifies legal German fan fold paper.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PaperSize.User">
      <summary>
            Specifies user (custom) paper size.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.PasteOperation">
      <summary>
            Specifies how values are combined by <strong>IRange.Copy</strong>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteOperation.None">
      <summary>
            Values are simply copied.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteOperation.Add">
      <summary>
            Numeric values in the source are added to the destination, non-numeric values are ignored.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteOperation.Subtract">
      <summary>
            Numeric values in the source are subtracted from the destination, non-numeric values are ignored.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteOperation.Multiply">
      <summary>
            Numeric values in the destination are multiplied by the source, non-numeric values are ignored.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteOperation.Divide">
      <summary>
            Numeric values in the destination are divided by the source, non-numeric values are ignored.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.PasteType">
      <summary>
            Specifies what is copied by <strong>IRange.Copy</strong>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteType.All">
      <summary>
            Copies all formulas, values and formatting.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteType.AllExceptBorders">
      <summary>
            Copies all formulas, values and formatting except cell borders.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteType.ColumnWidths">
      <summary>
            Copies column widths.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteType.Comments">
      <summary>
            Copies comments.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteType.Formats">
      <summary>
            Copies formats, but no formulas or values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteType.Formulas">
      <summary>
            Copies formulas and values, but no formats.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteType.FormulasAndNumberFormats">
      <summary>
            Copies formulas, values and number formats, but no other formatting.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteType.Validation">
      <summary>
            Copies validation.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteType.Values">
      <summary>
            Copies values, but no formulas or formats.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PasteType.ValuesAndNumberFormats">
      <summary>
            Copies values and number formats, but no formulas or other formats.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Pattern">
      <summary>
            Specifies the pattern of the interior of a cell or object.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.None">
      <summary>
            Specifies a transparent pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Automatic">
      <summary>
            Pattern is determined automatically.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Checker">
      <summary>
            Specifies a checker pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.CrissCross">
      <summary>
            Specifies a criss-cross pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Down">
      <summary>
            Specifies a diagonal pattern running from top left to bottom right.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Gray16">
      <summary>
            Specifies a 16% pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Gray25">
      <summary>
            Specifies a 25% pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Gray50">
      <summary>
            Specifies a 50% pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Gray75">
      <summary>
            Specifies a 75% pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Gray8">
      <summary>
            Specifies an 8% pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Grid">
      <summary>
            Specifies a grid pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Horizontal">
      <summary>
            Specifies a horizontal pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.LightDown">
      <summary>
            Specifies a light diagonal pattern running from top left to bottom right.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.LightHorizontal">
      <summary>
            Specifies a light horizontal pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.LightVertical">
      <summary>
            Specifies a light vertical pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.LightUp">
      <summary>
            Specifies a light diagonal pattern running from bottom left to top right.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.SemiGray75">
      <summary>
            Specifies a 75% pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Solid">
      <summary>
            Specifies a solid background with no pattern.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Up">
      <summary>
            Specifies a diagonal pattern running from bottom left to top right.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Pattern.Vertical">
      <summary>
            Specifies a vertical pattern.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.PrintErrors">
      <summary>
            Specifies whether and how to print cell errors.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PrintErrors.AsDisplayed">
      <summary>
            Print errors as they are displayed on screen.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PrintErrors.AsBlank">
      <summary>
            Print errors as blank.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PrintErrors.AsDash">
      <summary>
            Print errors as dashes ("---").
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PrintErrors.AsNA">
      <summary>
            Print errors as #N/A.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.PrintLocation">
      <summary>
            Specifies whether and where to print cell comments.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PrintLocation.InPlace">
      <summary>
            Print cell comments in place.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PrintLocation.NoComments">
      <summary>
            Do not print cell comments.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.PrintLocation.SheetEnd">
      <summary>
            Print cell comments at the end of the worksheet.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Printing.PrintWhat">
      <summary>
            Specifies what to print.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Printing.PrintWhat.Selection">
      <summary>
            Print the selection.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Printing.PrintWhat.Sheet">
      <summary>
            Print the sheet.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Printing.PrintWhat.Workbook">
      <summary>
            Print the workbook.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.ReferenceStyle">
      <summary>
            Specifies whether to use A1 style or R1C1 style for cell references.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ReferenceStyle.R1C1">
      <summary>
            Use <strong>R1C1</strong> style. Absolute references are written as
            <strong>R1C1</strong>. Relative references are written as <strong>R[y]C[x]</strong>
            with <strong>y</strong> being the relative row offset and <strong>x</strong> being the
            relative column offset.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ReferenceStyle.A1">
      <summary>
            Use <strong>A1</strong> style. Absolute references are written as
            <strong>$A$1</strong> and relative references are written as
            <strong>A1</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.SearchDirection">
      <summary>
            Specifies whether to search forward (Next) or backward (Previous).
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Find(System.String,SpreadsheetGear.IRange,SpreadsheetGear.FindLookIn,SpreadsheetGear.LookAt,SpreadsheetGear.SearchOrder,SpreadsheetGear.SearchDirection,System.Boolean)" />
    </member>
    <member name="F:SpreadsheetGear.SearchDirection.Next">
      <summary>
            Specifies that search should proceed to the next cell.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.SearchDirection.Previous">
      <summary>
            Specifies that search should proceed to the previous cell.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.SearchOrder">
      <summary>
            Specifies whether to search by rows or by columns.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Find(System.String,SpreadsheetGear.IRange,SpreadsheetGear.FindLookIn,SpreadsheetGear.LookAt,SpreadsheetGear.SearchOrder,SpreadsheetGear.SearchDirection,System.Boolean)" />
      <seealso cref="M:SpreadsheetGear.IRange.Replace(System.String,System.String,SpreadsheetGear.LookAt,SpreadsheetGear.SearchOrder,System.Boolean)" />
    </member>
    <member name="F:SpreadsheetGear.SearchOrder.ByRows">
      <summary>
            Specifies that search should proceed by rows.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.SearchOrder.ByColumns">
      <summary>
            Specifies that search should proceed by columns.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.SheetType">
      <summary>
            Specifies the type of a sheet in a workbook.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.SheetType.Worksheet">
      <summary>Specifies a normal worksheet.</summary>
    </member>
    <member name="F:SpreadsheetGear.SheetType.Excel4MacroSheet">
      <summary>Specifies an Excel 4 macro sheet.</summary>
    </member>
    <member name="F:SpreadsheetGear.SheetType.Chart">
      <summary>Specifies a chart sheet.</summary>
    </member>
    <member name="F:SpreadsheetGear.SheetType.VisualBasicModule">
      <summary>Specifies a Visual Basic module sheet.</summary>
    </member>
    <member name="T:SpreadsheetGear.SheetVisibility">
      <summary>
            Specifies the visibility of a worksheet.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.SheetVisibility.Visible">
      <summary>Specifies that a worksheet is visible.</summary>
    </member>
    <member name="F:SpreadsheetGear.SheetVisibility.Hidden">
      <summary>Specifies that a worksheet is not visible.</summary>
    </member>
    <member name="F:SpreadsheetGear.SheetVisibility.VeryHidden">
      <summary>
            Specifies that a worksheet is not visible, and that the user is not presented
            with the option of making it visible.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.SortDataOption">
      <summary>
            Specifies whether or not to sort text as numbers.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Sort(SpreadsheetGear.SortOrientation,System.Boolean,SpreadsheetGear.SortKey[])" />
      <seealso cref="P:SpreadsheetGear.SortKey.DataOption" />
    </member>
    <member name="F:SpreadsheetGear.SortDataOption.TextAsNumbers">
      <summary>
            Specifies that text should be sorted as numbers.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.SortDataOption.Normal">
      <summary>
            Specifies that text should be sorted normally.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.SortKey">
      <summary>
            Specifies sort key information.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Sort(SpreadsheetGear.SortOrientation,System.Boolean,SpreadsheetGear.SortKey[])" />
      <seealso cref="T:SpreadsheetGear.SortOrder" />
      <seealso cref="T:SpreadsheetGear.SortDataOption" />
    </member>
    <member name="M:SpreadsheetGear.SortKey.#ctor(System.Int32,SpreadsheetGear.SortOrder,SpreadsheetGear.SortDataOption)">
      <summary>
            Creates a sort key with the specified key and sort order.
            </summary>
      <param name="key">Specifies the zero based index into the range to be sorted.</param>
      <param name="order">Specifies whether this key should be sorted in ascending or descending order.</param>
      <param name="dataOption">Specifies data options for this key.</param>
      <seealso cref="M:SpreadsheetGear.IRange.Sort(SpreadsheetGear.SortOrientation,System.Boolean,SpreadsheetGear.SortKey[])" />
      <seealso cref="T:SpreadsheetGear.SortOrder" />
      <seealso cref="T:SpreadsheetGear.SortDataOption" />
    </member>
    <member name="P:SpreadsheetGear.SortKey.Key">
      <summary>
            Gets or sets the property which specifies the zero based index into the range to be sorted.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Sort(SpreadsheetGear.SortOrientation,System.Boolean,SpreadsheetGear.SortKey[])" />
    </member>
    <member name="P:SpreadsheetGear.SortKey.Order">
      <summary>
            Gets or sets the property which specifies whether this key 
            should be sorted in ascending or descending order.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Sort(SpreadsheetGear.SortOrientation,System.Boolean,SpreadsheetGear.SortKey[])" />
      <seealso cref="T:SpreadsheetGear.SortOrder" />
    </member>
    <member name="P:SpreadsheetGear.SortKey.DataOption">
      <summary>
            Specifies data options for this sort key.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Sort(SpreadsheetGear.SortOrientation,System.Boolean,SpreadsheetGear.SortKey[])" />
      <seealso cref="T:SpreadsheetGear.SortDataOption" />
    </member>
    <member name="T:SpreadsheetGear.SortOrder">
      <summary>
            Specifies whether to sort in ascending order or descending order.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Sort(SpreadsheetGear.SortOrientation,System.Boolean,SpreadsheetGear.SortKey[])" />
      <seealso cref="P:SpreadsheetGear.SortKey.Order" />
    </member>
    <member name="F:SpreadsheetGear.SortOrder.Ascending">
      <summary>
            Specifies ascending order.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.SortOrder.Descending">
      <summary>
            Specifies descending order.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.SortOrientation">
      <summary>
            Specifies whether to sort rows or columns.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.Sort(SpreadsheetGear.SortOrientation,System.Boolean,SpreadsheetGear.SortKey[])" />
    </member>
    <member name="F:SpreadsheetGear.SortOrientation.Rows">
      <summary>
            Specifies that rows will be sorted (top to bottom).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.SortOrientation.Columns">
      <summary>
            Specifies that columns will be sorted (left to right).
            </summary>
    </member>
    <member name="T:SpreadsheetGear.SummaryColumn">
      <summary>
            Specifies whether summary columns are left of or to the right of detail columns.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.SummaryColumn.Left">
      <summary>
            Specifies that summary columns are to the left of detail columns.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.SummaryColumn.Right">
      <summary>
            Specifies that summary columns are to the right of detail columns.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.SummaryRow">
      <summary>
            Specifies whether summary rows are above or below detail rows.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.SummaryRow.Above">
      <summary>
            Specifies that summary rows are above detail rows.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.SummaryRow.Below">
      <summary>
            Specifies that summary rows are below detail rows.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.SystemColors">
      <summary>
            Contains a set of predefined system colors.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.UnderlineStyle">
      <summary>
            Specifies the underline style of text.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.UnderlineStyle.None">
      <summary>Specifies that text is not underlined.</summary>
    </member>
    <member name="F:SpreadsheetGear.UnderlineStyle.Single">
      <summary>Specifies that text has a single underline.</summary>
    </member>
    <member name="F:SpreadsheetGear.UnderlineStyle.Double">
      <summary>Specifies that text has a double underline.</summary>
    </member>
    <member name="F:SpreadsheetGear.UnderlineStyle.SingleAccounting">
      <summary>
            Specifies that text has a single accounting underline, causing an entire cell to
            be underlined rather than just the cell text.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.UnderlineStyle.DoubleAccounting">
      <summary>
            Specifies that text has a double accounting underline, causing an entire cell to
            be underlined rather than just the cell text.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.UpdateLinks">
      <summary>Specifies how Excel updates links when a workbook is loaded.</summary>
      <seealso cref="P:SpreadsheetGear.IWorkbook.UpdateLinks" />
    </member>
    <member name="F:SpreadsheetGear.UpdateLinks.UserSetting">
      <summary>
            Excel will ask the user whether or not links should be updated when a workbook is loaded.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.UpdateLinks.Never">
      <summary>
            Excel will never update links when a workbook is loaded.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.UpdateLinks.Always">
      <summary>
            Excel will always update links when a workbook is loaded.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.ValidationAlertStyle">
      <summary>
            Represents the alert style to be used when data validation fails and displays an alert.
            </summary>
      <seealso cref="P:SpreadsheetGear.IValidation.AlertStyle" />
      <seealso cref="P:SpreadsheetGear.IRange.Validation" />
    </member>
    <member name="F:SpreadsheetGear.ValidationAlertStyle.Information">
      <summary>
            Specifies that the alert should be displayed with the information style.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationAlertStyle.Stop">
      <summary>
            Specifies that the alert should be displayed with the stop style.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationAlertStyle.Warning">
      <summary>
            Specifies that the alert should be displayed with the warning style.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.ValidationOperator">
      <summary>
            Represents the operator to be used with data validation types which require an operator.
            </summary>
      <seealso cref="P:SpreadsheetGear.IValidation.Operator" />
      <seealso cref="P:SpreadsheetGear.IRange.Validation" />
    </member>
    <member name="F:SpreadsheetGear.ValidationOperator.Default">
      <summary>
            Specifies the default operator (<strong>Between</strong>).
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationOperator.Between">
      <summary>
            Specifies that the entered value must be between the values specified by <strong>Formula1</strong> and <strong>Formula2</strong>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationOperator.Equal">
      <summary>
            Specifies that the entered value must be equal to the value specified by <strong>Formula1</strong>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationOperator.Greater">
      <summary>
            Specifies that the entered value must be greater than the value specified by <strong>Formula1</strong>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationOperator.GreaterEqual">
      <summary>
            Specifies that the entered value must be greater than or equal to the value specified by <strong>Formula1</strong>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationOperator.Less">
      <summary>
            Specifies that the entered value must be less than the value specified by <strong>Formula1</strong>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationOperator.LessEqual">
      <summary>
            Specifies that the entered value must be less than or equal to the value specified by <strong>Formula1</strong>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationOperator.NotBetween">
      <summary>
            Specifies that the entered value must not be between the values specified by <strong>Formula1</strong> and <strong>Formula2</strong>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationOperator.NotEqual">
      <summary>
            Specifies that the entered value must not be equal to the value specified by <strong>Formula1</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.ValidationType">
      <summary>
            Represents the type of data validation associated with a range of cells.
            </summary>
      <seealso cref="P:SpreadsheetGear.IValidation.Type" />
      <seealso cref="P:SpreadsheetGear.IRange.Validation" />
    </member>
    <member name="F:SpreadsheetGear.ValidationType.Custom">
      <summary>
            Specifies that <strong>IValidation.Formula1</strong> will be evaluated to determine whether
            an entered value is valid.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationType.Date">
      <summary>
            Specifies that a date must be entered.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationType.Decimal">
      <summary>
            Specifies that a decimal number must be entered.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationType.InputOnly">
      <summary>
            Specifies no special validation.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationType.List">
      <summary>
            Specifies a list of valid values.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationType.TextLength">
      <summary>
            Specifies validation based on the length of the entered text.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationType.Time">
      <summary>
            Specifies that a time must be entered.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValidationType.WholeNumber">
      <summary>
            Specifies that a whole number must be entered.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.VAlign">
      <summary>
            Specifies the vertical alignment of text.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.VAlign.Top">
      <summary>
            Specifies that text is placed at the top.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.VAlign.Center">
      <summary>
            Specifies that text is vertically centered.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.VAlign.Bottom">
      <summary>
            Specifies that text is placed at the bottom.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.VAlign.Justify">
      <summary>
            Specifies that rotated text is vertically justified.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.VAlign.Distributed">
      <summary>
            Specifies that rotated text should wrap and be aligned to form straight edges on the left
            and right, including the last line.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.ValueError">
      <summary>
            Specifies the possible formula error conditions.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueError.None">
      <summary>
            Specifies no error.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueError.Null">
      <summary>
            Some functions return <strong>Null</strong> in certain cases.
            Displayed as <em>#NULL!</em>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueError.Div0">
      <summary>
            Specifies division by zero. Displayed as <em>#DIV/0!</em>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueError.Value">
      <summary>
            Specifies that an invalid value was specified for a function argument or operator.
            Displayed as <em>#VALUE!</em>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueError.Ref">
      <summary>
            Specifies that an invalid or deleted references was used.
            Displayed as <em>#REF!</em>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueError.Name">
      <summary>
            Specifies that an unknown defined name or unknown addin function was used.
            Displayed as <em>#NAME?</em>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueError.Num">
      <summary>
            Specifies that an invalid number resulted from a calculation.
            Displayed as <em>#NUM!</em>.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueError.NA">
      <summary>
            Some functions return <strong>NA</strong> in certain cases.
            Displayed as <em>#N/A</em>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.ValueType">
      <summary>
                Specifies the type of a cell value.
            </summary>
      <seealso cref="P:SpreadsheetGear.IRange.ValueType" />
      <seealso cref="P:SpreadsheetGear.IRange.Value" />
      <seealso cref="T:SpreadsheetGear.NumberFormatType" />
    </member>
    <member name="F:SpreadsheetGear.ValueType.Empty">
      <summary>
            Specifies an empty cell.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueType.Number">
      <summary>
            Specifies a double precision floating point number.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueType.Text">
      <summary>
            Specifies text.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueType.Logical">
      <summary>
            Specifies a logical (boolean) value.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.ValueType.Error">
      <summary>
            Specifies a <strong>SpreadsheetGear.ValueError</strong>.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.WindowView">
      <summary>
            Specifies whether a worksheet is viewed normally or in page break preview mode.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.WindowView.Normal">
      <summary>
            Specifies a normal view.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.WindowView.PageBreakPreview">
      <summary>
            Specifies page break preview mode.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.IGradientStop">
      <summary>
            Represents a gradient stop.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IGradientStop.Color">
      <summary>
            Gets an instance of <strong>IColorFormat</strong> which represents the gradient stop color.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IGradientStop.Position">
      <summary>
            Gets or sets the position of this gradient stop as a value from 0.0 to 1.0.
            </summary>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IGradientStop.Transparency">
      <summary>
            Gets or sets the level of transparency of this gradient stop as a value from 0.0 (opaque) to 1.0 (transparent).
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.IGradientStops">
      <summary>
            Represents a collection of gradient stops.
            </summary>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IGradientStops.Delete(System.Int32)">
      <summary>
            Deletes the gradient stop at the specified index.
            </summary>
      <param name="index">The index of the gradient stop to delete.</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IGradientStops.Insert(SpreadsheetGear.Color,System.Double)">
      <summary>
            Adds a new gradient stop to the end of the collection.
            </summary>
      <param name="rgb">The color of the gradient stop as an RGB value</param>
      <param name="position">The position of the gradient stop as a value from 0.0 to 1.0</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IGradientStops.Insert(SpreadsheetGear.Color,System.Double,System.Double)">
      <summary>
            Adds a new gradient stop to the end of the collection.
            </summary>
      <param name="rgb">The color of the gradient stop as an RGB value</param>
      <param name="position">The position of the gradient stop as a value from 0.0 to 1.0</param>
      <param name="transparency">The transparency of the gradient stop as a value from 0.0 (opaque) to 1.0 (transparent)</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IGradientStops.InsertAt(System.Int32,SpreadsheetGear.Color,System.Double)">
      <summary>
            Inserts a new gradient stop at the specified index in the collection.
            </summary>
      <param name="index">The index of the new gradient stop</param>
      <param name="rgb">The color of the gradient stop as an RGB value</param>
      <param name="position">The position of the gradient stop as a value from 0.0 to 1.0</param>
    </member>
    <member name="M:SpreadsheetGear.Shapes.IGradientStops.InsertAt(System.Int32,SpreadsheetGear.Color,System.Double,System.Double)">
      <summary>
            Inserts a new gradient stop at the specified index in the collection.
            </summary>
      <param name="index">The index of the new gradient stop</param>
      <param name="rgb">The color of the gradient stop as an RGB value</param>
      <param name="position">The position of the gradient stop as a value from 0.0 to 1.0</param>
      <param name="transparency">The transparency of the gradient stop as a value from 0.0 (opaque) to 1.0 (transparent)</param>
    </member>
    <member name="P:SpreadsheetGear.Shapes.IGradientStops.Item(System.Int32)">
      <summary>Gets the <strong>IGradientStop</strong> specified by the zero based index.</summary>
      <param name="index">Specifies the zero based index of the gradient stop to return.</param>
      <returns>The specified <strong>IGradientStop</strong>.</returns>
      <seealso cref="T:SpreadsheetGear.Shapes.IShape" />
    </member>
    <member name="P:SpreadsheetGear.Shapes.IGradientStops.Count">
      <summary>
            Gets the number of gradient stops in this collection.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.GradientStyle">
      <summary>
            Specifies the style and direction of a gradient fill.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.DiagonalDownFromUpperRight">
      <summary>
            Excel equivalent: Style=msoGradientStyleDiagonalDown, Variant=1
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.DiagonalDownFromLowerLeft">
      <summary>
            Excel equivalent: Style=msoGradientStyleDiagonalDown, Variant=2
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.DiagonalDownFromCorners">
      <summary>
            Excel equivalent: Style=msoGradientStyleDiagonalDown, Variant=3
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.DiagonalDownFromMiddle">
      <summary>
            Excel equivalent: Style=msoGradientStyleDiagonalDown, Variant=4
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.DiagonalUpFromUpperLeft">
      <summary>
            Excel equivalent: Style=msoGradientStyleDiagonalUp, Variant=1
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.DiagonalUpFromLowerRight">
      <summary>
            Excel equivalent: Style=msoGradientStyleDiagonalUp, Variant=2
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.DiagonalUpFromCorners">
      <summary>
            Excel equivalent: Style=msoGradientStyleDiagonalUp, Variant=3
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.DiagonalUpFromMiddle">
      <summary>
            Excel equivalent: Style=msoGradientStyleDiagonalUp, Variant=4
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.FromCenter">
      <summary>
            Excel equivalent: Style=msoGradientStyleFromCenter, Variant=1
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.FromCenterInverted">
      <summary>
            Excel equivalent: Style=msoGradientStyleFromCenter, Variant=2
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.FromCornerUpperLeft">
      <summary>
            Excel equivalent: Style=msoGradientStyleFromCorner, Variant=1
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.FromCornerUpperRight">
      <summary>
            Excel equivalent: Style=msoGradientStyleFromCorner, Variant=2
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.FromCornerLowerLeft">
      <summary>
            Excel equivalent: Style=msoGradientStyleFromCorner, Variant=3
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.FromCornerLowerRight">
      <summary>
            Excel equivalent: Style=msoGradientStyleFromCorner, Variant=4
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.HorizontalFromTop">
      <summary>
            Excel equivalent: Style=msoGradientStyleHorizontal, Variant=1
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.HorizontalFromBottom">
      <summary>
            Excel equivalent: Style=msoGradientStyleHorizontal, Variant=2
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.HorizontalFromEdges">
      <summary>
            Excel equivalent: Style=msoGradientStyleHorizontal, Variant=3
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.HorizontalFromMiddle">
      <summary>
            Excel equivalent: Style=msoGradientStyleHorizontal, Variant=4
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.VerticalFromLeft">
      <summary>
            Excel equivalent: Style=msoGradientStyleVertical, Variant=1
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.VerticalFromRight">
      <summary>
            Excel equivalent: Style=msoGradientStyleVertical, Variant=2
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.VerticalFromEdges">
      <summary>
            Excel equivalent: Style=msoGradientStyleVertical, Variant=3
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.VerticalFromMiddle">
      <summary>
            Excel equivalent: Style=msoGradientStyleVertical, Variant=4
            </summary>
    </member>
    <member name="F:SpreadsheetGear.Shapes.GradientStyle.Mixed">
      <summary>
            Returned when no gradient style can be identified.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.Shapes.PresetGradientType">
      <summary>
            Specifies the preset gradient type of a gradient fill.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.AutoFillType">
      <summary>
            Specifies the type of fill to perform.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.AutoFilterOperator">
      <summary>
            Specifies the type of filter to apply to an autofilter column.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.AutoFilterOperator.Custom">
      <summary>
            Specifies a single criteria custom filter.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.DataSeriesDate">
      <summary>
            Specifies the type of date operation to be performed by the IRange.DataSeries method when DataSeriesType.Chronological is used.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.DataSeries(System.Boolean,SpreadsheetGear.DataSeriesType,SpreadsheetGear.DataSeriesDate,System.Double,System.Double,System.Boolean)" />
    </member>
    <member name="F:SpreadsheetGear.DataSeriesDate.Day">
      <summary>
            Specifies incrementing by days.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.DataSeriesDate.Month">
      <summary>
            Specifies incrementing by months.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.DataSeriesDate.Weekday">
      <summary>
            Specifies incrementing by days and skipping days which are not weekdays.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.DataSeriesDate.Year">
      <summary>
            Specifies incrementing by years.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.DataSeriesType">
      <summary>
            Specifies the type of operation to be performed by the IRange.DataSeries method.
            </summary>
      <seealso cref="M:SpreadsheetGear.IRange.DataSeries(System.Boolean,SpreadsheetGear.DataSeriesType,SpreadsheetGear.DataSeriesDate,System.Double,System.Double,System.Boolean)" />
    </member>
    <member name="F:SpreadsheetGear.DataSeriesType.AutoFill">
      <summary>
            Automatic fill.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.DataSeriesType.Chronological">
      <summary>
            Date or time fill.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.DataSeriesType.DataSeriesLinear">
      <summary>
            Additive fill; { 1, 2 } becomes { 1, 2, 3, 4 }.
            </summary>
    </member>
    <member name="F:SpreadsheetGear.DataSeriesType.Growth">
      <summary>
            Multiplicative fill; { 1, 2 } becomes { 1, 2, 4, 8 }.
            </summary>
    </member>
    <member name="T:SpreadsheetGear.DynamicFilterCriteria">
      <summary>
            Specifies the type of  to apply to an auto column.
            </summary>
    </member>
  </members>
</doc>